File: upload_to_ppa.cmake

package info (click to toggle)
neko 2.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 2,344 kB
  • sloc: ansic: 19,327; ml: 4,924; sh: 75; makefile: 24
file content (115 lines) | stat: -rw-r--r-- 3,169 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
find_package(Git REQUIRED)

set(neko_debian_dir ${bin_dir}/neko-debian)

# format SNAPSHOT_VERSION
execute_process(
	COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
	OUTPUT_VARIABLE COMMIT_SHA
	OUTPUT_STRIP_TRAILING_WHITESPACE
)
execute_process(
	COMMAND ${GIT_EXECUTABLE} show -s --format=%ct HEAD
	OUTPUT_VARIABLE COMMIT_TIME
	OUTPUT_STRIP_TRAILING_WHITESPACE
)
execute_process(
	COMMAND date -u -d @${COMMIT_TIME} +%Y%m%d%H%M%S
	OUTPUT_VARIABLE COMMIT_TIME
	OUTPUT_STRIP_TRAILING_WHITESPACE
)
set(SNAPSHOT_VERSION ${NEKO_VERSION}+1SNAPSHOT${COMMIT_TIME}+${COMMIT_SHA})
message(STATUS "building source package version ${SNAPSHOT_VERSION}")

message(STATUS "setting up neko-debian repo")
if (EXISTS ${neko_debian_dir})
	execute_process(
		COMMAND ${GIT_EXECUTABLE} fetch --all
		WORKING_DIRECTORY ${neko_debian_dir}
	)
	execute_process(
		COMMAND ${GIT_EXECUTABLE} clean -fx
		WORKING_DIRECTORY ${neko_debian_dir}
	)
	execute_process(
		COMMAND ${GIT_EXECUTABLE} reset --hard HEAD
		WORKING_DIRECTORY ${neko_debian_dir}
	)
	execute_process(
		COMMAND ${GIT_EXECUTABLE} tag -d upstream/${SNAPSHOT_VERSION}
		WORKING_DIRECTORY ${neko_debian_dir}
	)
else()
	execute_process(
		COMMAND ${GIT_EXECUTABLE} clone https://github.com/HaxeFoundation/neko-debian.git ${neko_debian_dir}
	)
endif()
foreach(branch upstream next)
	execute_process(
		COMMAND ${GIT_EXECUTABLE} checkout ${branch}
		WORKING_DIRECTORY ${neko_debian_dir}
	)
	execute_process(
		COMMAND ${GIT_EXECUTABLE} reset --hard origin/${branch}
		WORKING_DIRECTORY ${neko_debian_dir}
	)
endforeach()

message(STATUS "import changes from source archive to neko-debian")
get_filename_component(source_archive_name ${source_archive} NAME)
file(COPY ${source_archive} DESTINATION ${bin_dir})
file(RENAME ${bin_dir}/${source_archive_name} ${bin_dir}/neko_${SNAPSHOT_VERSION}.orig.tar.gz)
execute_process(
	COMMAND gbp import-orig ${bin_dir}/neko_${SNAPSHOT_VERSION}.orig.tar.gz -u ${SNAPSHOT_VERSION} --debian-branch=next
	WORKING_DIRECTORY ${neko_debian_dir}
)

set(distros
	trusty
	xenial
	zesty
	artful
	bionic
)

if (DEFINED ENV{PPA})
	set(PPA $ENV{PPA})
else()
	set(PPA "ppa:haxe/snapshots")
endif()

foreach(distro ${distros})
	message(STATUS "backporting to ${distro} and will upload to ${PPA}")
	execute_process(
		COMMAND ${GIT_EXECUTABLE} checkout .
		WORKING_DIRECTORY ${neko_debian_dir}
	)
	execute_process(
		COMMAND ${GIT_EXECUTABLE} checkout next-${distro}
		WORKING_DIRECTORY ${neko_debian_dir}
	)
	execute_process(
		COMMAND ${GIT_EXECUTABLE} clean -fx
		WORKING_DIRECTORY ${neko_debian_dir}
	)
	execute_process(
		COMMAND ${GIT_EXECUTABLE} reset --hard origin/next-${distro}
		WORKING_DIRECTORY ${neko_debian_dir}
	)
	execute_process(
		COMMAND ${GIT_EXECUTABLE} merge next -m "merge"
		WORKING_DIRECTORY ${neko_debian_dir}
	)
	execute_process(
		COMMAND dch -v "${SNAPSHOT_VERSION}-1" --urgency low "snapshot build"
		WORKING_DIRECTORY ${neko_debian_dir}
	)
	execute_process(
		COMMAND debuild -S -sa
		WORKING_DIRECTORY ${neko_debian_dir}
	)
	execute_process(
		COMMAND backportpackage -d ${distro} --upload ${PPA} --yes neko_${SNAPSHOT_VERSION}-1.dsc
		WORKING_DIRECTORY ${bin_dir}
	)
endforeach()