blob: 4e2547a90722a99dbc6b2412673927eef4224c50 (
plain)
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
#!/bin/bash
#
# Copyright 2015 National Instruments Corp.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
if ! ls | grep host > /dev/null
then
echo "This script must be run from UHD's top-level directory."
exit 1
fi
if [ -f fpga-src/README.md ]; then
echo "This script requires a clean repository without fpga-src checked out!."
exit 1
fi
FORCE_YES=0
if [ $# -eq 1 ]
then
if [ "$1" = "-y" ]
then
FORCE_YES=1
fi
fi
UHD_TOP_LEVEL=$PWD
# Get version info
VERSION=`head -1 host/cmake/debian/changelog | grep -o '[0-9.]*' | head -1`
ORIG_RELEASE=`head -1 host/cmake/debian/changelog | sed 's/.*) \(.*\);.*/\1/'`
#
# Currently supported versions can be found here:
# https://launchpad.net/ubuntu/+ppas
#
RELEASES="trusty xenial bionic cosmic"
PPA=ppa:ettusresearch/uhd
#
# Make sure this is the intended version.
#
# This is based on the contents of debian/changelog. If convert_changelog.py was not
# run on this version, it will show the previous release.
#
echo "Will generate installer configuration files for UHD "$VERSION
if [ $FORCE_YES -ne 1 ]
then
echo "Is this correct? (yes/no)"
read response
if [ "$response" != "yes" ]
then
exit 0
fi
fi
# Generate the TAR file to be uploaded.
echo "Creating UHD source archive."
tar --exclude='.git*' --exclude='./debian' --exclude='*.swp' --exclude='fpga-src' --exclude='build' --exclude='./images/*.pyc' --exclude='./images/uhd-*' --exclude='tags' -cJf ../uhd_${VERSION}.orig.tar.xz .
if [ $? != 0 ]
then
echo "Failed to create UHD source archive."
exit 1
fi
# debuild expects our directory name to be ${source package}-${version}
rm -f ${UHD_TOP_LEVEL}/../uhd-${VERSION}
ln -s ${UHD_TOP_LEVEL} ${UHD_TOP_LEVEL}/../uhd-${VERSION}
cd ${UHD_TOP_LEVEL}/../uhd-${VERSION}
#
# Generate package info for each version.
#
# This script substitutes each version string into the debian/changelog file to
# create package info for each version. We need to store the original outside the
# UHD repo, or dpkg-source will detect the change and error out.
#
cp -r host/cmake/debian .
cp host/utils/uhd-usrp.rules debian/uhd-host.udev
find host/docs -name '*.1' > debian/uhd-host.manpages
rm -f debian/postinst.in debian/postrm.in debian/preinst.in debian/prerm.in
if [ $FORCE_YES -ne 1 ]
then
echo "Proceed to generate package info? (yes/no)"
read response
if [ "$response" != "yes" ]
then
exit 0
fi
fi
for RELEASE in ${RELEASES}
do
cp debian/changelog ../changelog.backup
sed -i "s/${ORIG_RELEASE}/${RELEASE}/;s/0ubuntu1/0ubuntu1~${RELEASE}1/" debian/changelog
debuild -S -i -sa
if [ $? != 0 ]
then
echo "Failed to generate package info for" ${RELEASE}
mv ../changelog.backup debian/changelog
exit 1
fi
mv ../changelog.backup debian/changelog
done
if [ $FORCE_YES -ne 1 ]
then
echo "Proceed to upload to launchpad? (yes/no)"
read response
if [ "$response" != "yes" ]
then
exit 0
fi
fi
# Upload package into to Launchpad, which will automatically build packages
for RELEASE in ${RELEASES}
do
dput ${PPA} ../uhd_${VERSION}-0ubuntu1~${RELEASE}1_source.changes
if [ $? != 0 ]
then
echo "Failed to upload" ${VERSION} "package info to Launchpad."
exit 1
fi
done
if [ $FORCE_YES -ne 1 ]
then
echo
echo "Clean up build artifacts? (yes/no)"
read response
if [ "$response" = "yes" ]
then
cd ..
rm -r ${UHD_TOP_LEVEL}/debian uhd-${VERSION} uhd_${VERSION}.orig.tar.xz uhd*dsc uhd*changes uhd*debian.tar.* uhd*_source.build uhd*.upload
fi
fi
|