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
1diff --git a/configure.ac b/configure.ac
2index 5f2e6aa..8a802b6 100644
3--- a/configure.ac
4+++ b/configure.ac
5@@ -4,7 +4,7 @@
6 # Process this file with autoconf to generate a configure script.
7 #
8 ###############################################################################
9-# Copyright 2019-2020 Canonical Ltd.
10+# Copyright 2019-2021 Canonical Ltd.
11 # All rights reserved.
12 #
13 # Written by:
14@@ -26,6 +26,25 @@ if test -z "$user"; then
15 fi
16 AC_SUBST(user)
17
18+AC_ARG_ENABLE(classic,
19+ [AS_HELP_STRING([--enable-classic],
20+ [Enable classic confinement])],
21+ enable_classic="yes")
22+
23+AC_ARG_WITH(provider-included,
24+ [AS_HELP_STRING([--with-provider-included],
25+ [Create a bundled checkbox provider (default = no)])],
26+ enable_provider="yes")
27+
28+snap="checkbox-$project"
29+if test "$enable_classic" = "yes"; then
30+ snap="checkbox-$project-classic"
31+fi
32+
33+rm -rf $snap
34+mkdir $snap
35+git ls-tree master --name-only | grep -v configure.ac | xargs cp -r -t $snap
36+
37 AC_ARG_VAR([base], [base name (e.g base=core18)])
38 if test -n "$base"; then
39 base_digits=${base: -2}
40@@ -34,11 +53,11 @@ if test -n "$base"; then
41 base_python_version="3.6"
42 elif test "$base_digits" = "20"; then
43 base_python_version="3.8"
44- mv snap/plugins/checkbox_provider.py.in_v2 snap/plugins/checkbox_provider.py.in
45- mv snap/snapcraft_classic.yaml.in_v2 snap/snapcraft_classic.yaml.in
46- mv snap/snapcraft.yaml.in_v2 snap/snapcraft.yaml.in
47- rm -rf launchers
48- mv launchers_v2 launchers
49+ mv $snap/snap/plugins/checkbox_provider.py.in_v2 $snap/snap/plugins/checkbox_provider.py.in
50+ mv $snap/snap/snapcraft_classic.yaml.in_v2 $snap/snap/snapcraft_classic.yaml.in
51+ mv $snap/snap/snapcraft.yaml.in_v2 $snap/snap/snapcraft.yaml.in
52+ rm -rf $snap/launchers
53+ mv $snap/launchers_v2 $snap/launchers
54 else
55 base_python_version="3.5"
56 fi
57@@ -49,10 +68,6 @@ AC_SUBST(base)
58 AC_SUBST(base_digits)
59 AC_SUBST(base_python_version)
60
61-AC_ARG_WITH(provider-included,
62- [AS_HELP_STRING([--with-provider-included],
63- [Create a bundled checkbox provider (default = no)])],
64- enable_provider="yes")
65 if test "$enable_provider" = "yes"; then
66 provider_source="./checkbox-provider-$project"
67 provider_source_type="local"
68@@ -63,49 +78,60 @@ fi
69 AC_SUBST(provider_source)
70 AC_SUBST(provider_source_type)
71
72-AC_ARG_ENABLE(classic,
73- [AS_HELP_STRING([--enable-classic],
74- [Enable classic confinement])],
75- enable_classic="yes")
76 if test "$enable_classic" = "yes"; then
77- mv snap/snapcraft_classic.yaml.in snap/snapcraft.yaml.in
78- rm -rf snap/hooks
79- mv snap/hooks_classic snap/hooks
80- mv launchers/checkbox-cli-wrapper_classic launchers/checkbox-cli-wrapper
81- mv launchers/wrapper_local.in_classic launchers/wrapper_local.in
82- mv launchers/configure.in_classic launchers/configure.in
83+ mv $snap/snap/snapcraft_classic.yaml.in $snap/snap/snapcraft.yaml.in
84+ rm -rf $snap/snap/hooks
85+ mv $snap/snap/hooks_classic $snap/snap/hooks
86+ mv $snap/launchers/checkbox-cli-wrapper_classic $snap/launchers/checkbox-cli-wrapper
87+ mv $snap/launchers/wrapper_local.in_classic $snap/launchers/wrapper_local.in
88+ mv $snap/launchers/configure.in_classic $snap/launchers/configure.in
89 else
90- rm -rf snap/snapcraft_classic.yaml.in snap/hooks_classic
91- rm -rf launchers/hook-wrapper launchers/checkbox-cli-wrapper_classic
92- rm -rf launchers/wrapper_local.in_classic
93- rm -rf launchers/configure.in_classic
94+ rm -rf $snap/snap/snapcraft_classic.yaml.in $snap/snap/hooks_classic
95+ rm -rf $snap/launchers/hook-wrapper
96+ rm -rf $snap/launchers/checkbox-cli-wrapper_classic
97+ rm -rf $snap/launchers/wrapper_local.in_classic
98+ rm -rf $snap/launchers/configure.in_classic
99 fi
100
101 AC_MSG_RESULT([*********** Configuring: checkbox-$project ($year) **********])
102-cat > cleanup.sh <<EOF
103-#!/bin/bash
104-rm -rf .git
105-git init -q
106-git add .
107-git commit -q -m 'Initial commit'
108-git clean -qxdf
109-EOF
110-chmod +x cleanup.sh
111-AC_CONFIG_FILES([snap/snapcraft.yaml])
112-AC_CONFIG_FILES([snap/plugins/checkbox_provider.py])
113-AC_CONFIG_FILES([snap/hooks/configure], [chmod +x snap/hooks/configure])
114-AC_CONFIG_FILES([snap/hooks/install], [chmod +x snap/hooks/install])
115-AC_CONFIG_FILES([launchers/configure], [chmod +x launchers/configure])
116-AC_CONFIG_FILES([launchers/test-runner], [chmod +x launchers/test-runner])
117-AC_CONFIG_FILES([launchers/test-runner-automated], [chmod +x launchers/test-runner-automated])
118-AC_CONFIG_FILES([launchers/wrapper_local], [chmod +x launchers/wrapper_local])
119+AC_CONFIG_FILES([$snap/snap/snapcraft.yaml])
120+AC_CONFIG_FILES([$snap/snap/plugins/checkbox_provider.py])
121+AC_CONFIG_FILES([$snap/snap/hooks/configure])
122+AC_CONFIG_FILES([$snap/snap/hooks/install])
123+AC_CONFIG_FILES([$snap/launchers/configure])
124+AC_CONFIG_FILES([$snap/launchers/test-runner])
125+AC_CONFIG_FILES([$snap/launchers/test-runner-automated])
126+AC_CONFIG_FILES([$snap/launchers/wrapper_local])
127 if test "$enable_provider" = "yes"; then
128- mv checkbox-provider-template checkbox-provider-$project
129- AC_CONFIG_FILES([
130- checkbox-provider-$project/manage.py
131- checkbox-provider-$project/units/test-plan.pxu
132- ], [chmod +x checkbox-provider-$project/manage.py])
133+ mv $snap/checkbox-provider-template $snap/checkbox-provider-$project
134+ AC_CONFIG_FILES([$snap/checkbox-provider-$project/manage.py])
135+ AC_CONFIG_FILES([$snap/checkbox-provider-$project/units/test-plan.pxu])
136 else
137- rm -rf checkbox-provider-template
138+ rm -rf checkbox-provider-$project
139+ mv $snap/checkbox-provider-template checkbox-provider-$project
140+ AC_CONFIG_FILES([checkbox-provider-$project/manage.py])
141+ AC_CONFIG_FILES([checkbox-provider-$project/units/test-plan.pxu])
142 fi
143 AC_OUTPUT
144+
145+chmod +x $snap/snap/hooks/configure
146+chmod +x $snap/snap/hooks/install
147+chmod +x $snap/launchers/configure
148+chmod +x $snap/launchers/test-runner
149+chmod +x $snap/launchers/test-runner-automated
150+chmod +x $snap/launchers/wrapper_local
151+if test "$enable_provider" = "yes"; then
152+ chmod +x $snap/checkbox-provider-$project/manage.py
153+else
154+ chmod +x checkbox-provider-$project/manage.py
155+ cp .gitignore checkbox-provider-$project
156+ git -C checkbox-provider-$project init -q
157+ git -C checkbox-provider-$project add .
158+ git -C checkbox-provider-$project commit -q -m 'Initial commit'
159+ git -C checkbox-provider-$project clean -qxdf
160+fi
161+
162+git -C $snap init -q
163+git -C $snap add .
164+git -C $snap commit -q -m 'Initial commit'
165+git -C $snap clean -qxdf

Subscribers

People subscribed via source and target branches