Merge ~sylvain-pineau/checkbox/+git/checkbox-configure:separate-provider-repo into ~checkbox-dev/checkbox/+git/checkbox-configure:master

Proposed by Sylvain Pineau
Status: Merged
Approved by: Sylvain Pineau
Approved revision: 24b4cb546094b35a533d0bccb9634ca5933b4182
Merged at revision: 3ac59590967d24079c78e603686b7811003f26f7
Proposed branch: ~sylvain-pineau/checkbox/+git/checkbox-configure:separate-provider-repo
Merge into: ~checkbox-dev/checkbox/+git/checkbox-configure:master
Diff against target: 165 lines (+73/-47)
1 file modified
configure.ac (+73/-47)
Reviewer Review Type Date Requested Status
Sylvain Pineau (community) Approve
Review via email: mp+396855@code.launchpad.net

Description of the change

Instead of only creating the snap repo in-place the new behavior is to not only create a distinct repo for the snap ready to push but also a provider repo if configure is called w/o --with-provider-included.

To post a comment you must log in.
Revision history for this message
Sylvain Pineau (sylvain-pineau) wrote :

self-approved

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/configure.ac b/configure.ac
index 5f2e6aa..8a802b6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,7 @@
4# Process this file with autoconf to generate a configure script.4# Process this file with autoconf to generate a configure script.
5#5#
6###############################################################################6###############################################################################
7# Copyright 2019-2020 Canonical Ltd.7# Copyright 2019-2021 Canonical Ltd.
8# All rights reserved.8# All rights reserved.
9#9#
10# Written by:10# Written by:
@@ -26,6 +26,25 @@ if test -z "$user"; then
26fi26fi
27AC_SUBST(user)27AC_SUBST(user)
2828
29AC_ARG_ENABLE(classic,
30 [AS_HELP_STRING([--enable-classic],
31 [Enable classic confinement])],
32 enable_classic="yes")
33
34AC_ARG_WITH(provider-included,
35 [AS_HELP_STRING([--with-provider-included],
36 [Create a bundled checkbox provider (default = no)])],
37 enable_provider="yes")
38
39snap="checkbox-$project"
40if test "$enable_classic" = "yes"; then
41 snap="checkbox-$project-classic"
42fi
43
44rm -rf $snap
45mkdir $snap
46git ls-tree master --name-only | grep -v configure.ac | xargs cp -r -t $snap
47
29AC_ARG_VAR([base], [base name (e.g base=core18)])48AC_ARG_VAR([base], [base name (e.g base=core18)])
30if test -n "$base"; then49if test -n "$base"; then
31 base_digits=${base: -2}50 base_digits=${base: -2}
@@ -34,11 +53,11 @@ if test -n "$base"; then
34 base_python_version="3.6"53 base_python_version="3.6"
35 elif test "$base_digits" = "20"; then54 elif test "$base_digits" = "20"; then
36 base_python_version="3.8"55 base_python_version="3.8"
37 mv snap/plugins/checkbox_provider.py.in_v2 snap/plugins/checkbox_provider.py.in56 mv $snap/snap/plugins/checkbox_provider.py.in_v2 $snap/snap/plugins/checkbox_provider.py.in
38 mv snap/snapcraft_classic.yaml.in_v2 snap/snapcraft_classic.yaml.in57 mv $snap/snap/snapcraft_classic.yaml.in_v2 $snap/snap/snapcraft_classic.yaml.in
39 mv snap/snapcraft.yaml.in_v2 snap/snapcraft.yaml.in58 mv $snap/snap/snapcraft.yaml.in_v2 $snap/snap/snapcraft.yaml.in
40 rm -rf launchers59 rm -rf $snap/launchers
41 mv launchers_v2 launchers60 mv $snap/launchers_v2 $snap/launchers
42 else61 else
43 base_python_version="3.5"62 base_python_version="3.5"
44 fi63 fi
@@ -49,10 +68,6 @@ AC_SUBST(base)
49AC_SUBST(base_digits)68AC_SUBST(base_digits)
50AC_SUBST(base_python_version)69AC_SUBST(base_python_version)
5170
52AC_ARG_WITH(provider-included,
53 [AS_HELP_STRING([--with-provider-included],
54 [Create a bundled checkbox provider (default = no)])],
55 enable_provider="yes")
56if test "$enable_provider" = "yes"; then71if test "$enable_provider" = "yes"; then
57 provider_source="./checkbox-provider-$project"72 provider_source="./checkbox-provider-$project"
58 provider_source_type="local"73 provider_source_type="local"
@@ -63,49 +78,60 @@ fi
63AC_SUBST(provider_source)78AC_SUBST(provider_source)
64AC_SUBST(provider_source_type)79AC_SUBST(provider_source_type)
6580
66AC_ARG_ENABLE(classic,
67 [AS_HELP_STRING([--enable-classic],
68 [Enable classic confinement])],
69 enable_classic="yes")
70if test "$enable_classic" = "yes"; then81if test "$enable_classic" = "yes"; then
71 mv snap/snapcraft_classic.yaml.in snap/snapcraft.yaml.in82 mv $snap/snap/snapcraft_classic.yaml.in $snap/snap/snapcraft.yaml.in
72 rm -rf snap/hooks83 rm -rf $snap/snap/hooks
73 mv snap/hooks_classic snap/hooks84 mv $snap/snap/hooks_classic $snap/snap/hooks
74 mv launchers/checkbox-cli-wrapper_classic launchers/checkbox-cli-wrapper85 mv $snap/launchers/checkbox-cli-wrapper_classic $snap/launchers/checkbox-cli-wrapper
75 mv launchers/wrapper_local.in_classic launchers/wrapper_local.in86 mv $snap/launchers/wrapper_local.in_classic $snap/launchers/wrapper_local.in
76 mv launchers/configure.in_classic launchers/configure.in87 mv $snap/launchers/configure.in_classic $snap/launchers/configure.in
77else88else
78 rm -rf snap/snapcraft_classic.yaml.in snap/hooks_classic89 rm -rf $snap/snap/snapcraft_classic.yaml.in $snap/snap/hooks_classic
79 rm -rf launchers/hook-wrapper launchers/checkbox-cli-wrapper_classic90 rm -rf $snap/launchers/hook-wrapper
80 rm -rf launchers/wrapper_local.in_classic91 rm -rf $snap/launchers/checkbox-cli-wrapper_classic
81 rm -rf launchers/configure.in_classic92 rm -rf $snap/launchers/wrapper_local.in_classic
93 rm -rf $snap/launchers/configure.in_classic
82fi94fi
8395
84AC_MSG_RESULT([*********** Configuring: checkbox-$project ($year) **********])96AC_MSG_RESULT([*********** Configuring: checkbox-$project ($year) **********])
85cat > cleanup.sh <<EOF97AC_CONFIG_FILES([$snap/snap/snapcraft.yaml])
86#!/bin/bash 98AC_CONFIG_FILES([$snap/snap/plugins/checkbox_provider.py])
87rm -rf .git99AC_CONFIG_FILES([$snap/snap/hooks/configure])
88git init -q100AC_CONFIG_FILES([$snap/snap/hooks/install])
89git add .101AC_CONFIG_FILES([$snap/launchers/configure])
90git commit -q -m 'Initial commit'102AC_CONFIG_FILES([$snap/launchers/test-runner])
91git clean -qxdf103AC_CONFIG_FILES([$snap/launchers/test-runner-automated])
92EOF104AC_CONFIG_FILES([$snap/launchers/wrapper_local])
93chmod +x cleanup.sh
94AC_CONFIG_FILES([snap/snapcraft.yaml])
95AC_CONFIG_FILES([snap/plugins/checkbox_provider.py])
96AC_CONFIG_FILES([snap/hooks/configure], [chmod +x snap/hooks/configure])
97AC_CONFIG_FILES([snap/hooks/install], [chmod +x snap/hooks/install])
98AC_CONFIG_FILES([launchers/configure], [chmod +x launchers/configure])
99AC_CONFIG_FILES([launchers/test-runner], [chmod +x launchers/test-runner])
100AC_CONFIG_FILES([launchers/test-runner-automated], [chmod +x launchers/test-runner-automated])
101AC_CONFIG_FILES([launchers/wrapper_local], [chmod +x launchers/wrapper_local])
102if test "$enable_provider" = "yes"; then105if test "$enable_provider" = "yes"; then
103 mv checkbox-provider-template checkbox-provider-$project106 mv $snap/checkbox-provider-template $snap/checkbox-provider-$project
104 AC_CONFIG_FILES([107 AC_CONFIG_FILES([$snap/checkbox-provider-$project/manage.py])
105 checkbox-provider-$project/manage.py108 AC_CONFIG_FILES([$snap/checkbox-provider-$project/units/test-plan.pxu])
106 checkbox-provider-$project/units/test-plan.pxu
107 ], [chmod +x checkbox-provider-$project/manage.py])
108else109else
109 rm -rf checkbox-provider-template110 rm -rf checkbox-provider-$project
111 mv $snap/checkbox-provider-template checkbox-provider-$project
112 AC_CONFIG_FILES([checkbox-provider-$project/manage.py])
113 AC_CONFIG_FILES([checkbox-provider-$project/units/test-plan.pxu])
110fi114fi
111AC_OUTPUT115AC_OUTPUT
116
117chmod +x $snap/snap/hooks/configure
118chmod +x $snap/snap/hooks/install
119chmod +x $snap/launchers/configure
120chmod +x $snap/launchers/test-runner
121chmod +x $snap/launchers/test-runner-automated
122chmod +x $snap/launchers/wrapper_local
123if test "$enable_provider" = "yes"; then
124 chmod +x $snap/checkbox-provider-$project/manage.py
125else
126 chmod +x checkbox-provider-$project/manage.py
127 cp .gitignore checkbox-provider-$project
128 git -C checkbox-provider-$project init -q
129 git -C checkbox-provider-$project add .
130 git -C checkbox-provider-$project commit -q -m 'Initial commit'
131 git -C checkbox-provider-$project clean -qxdf
132fi
133
134git -C $snap init -q
135git -C $snap add .
136git -C $snap commit -q -m 'Initial commit'
137git -C $snap clean -qxdf

Subscribers

People subscribed via source and target branches