blob: ae3e1545d65f5a22f09f27bf3338d046d6ffd9d8 [file] [log] [blame]
#
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# RPM spec file for Traffic Stats (tm).
#
%define debug_package %{nil}
Name: trafficcontrol-cache-config
Summary: Installs Traffic Control cache configuration tools
Version: %{traffic_control_version}
Release: %{build_number}
License: Apache License, Version 2.0
Group: Applications/Communications
Source0: trafficcontrol-cache-config-%{version}.tgz
URL: https://github.com/apache/trafficcontrol/
Vendor: Apache Software Foundation
Packager: dev at trafficcontrol dot Apache dot org
Requires: git, perl
%description
Installs Traffic Control Cache Configuration utilities. See the `t3c` application.
%prep
tar xvf %{SOURCE0} -C $RPM_SOURCE_DIR
%build
set -o nounset
# copy license
cp "${TC_DIR}/LICENSE" %{_builddir}
ccdir="cache-config"
ccpath="src/github.com/apache/trafficcontrol/${ccdir}/"
# copy t3c binary
got3cdir="$ccpath"/t3c
( mkdir -p "$got3cdir" && \
cd "$got3cdir" && \
cp "$TC_DIR"/"$ccdir"/t3c/t3c .
cp "$TC_DIR"/"$ccdir"/t3c/t3c.1 .
) || { echo "Could not copy go program at $(pwd): $!"; exit 1; }
# copy t3c-apply binary
go_t3c_apply_dir="$ccpath"/t3c-apply
( mkdir -p "$go_t3c_apply_dir" && \
cd "$go_t3c_apply_dir" && \
cp "$TC_DIR"/"$ccdir"/t3c-apply/t3c-apply .
cp "$TC_DIR"/"$ccdir"/t3c-apply/t3c-apply.1 .
) || { echo "Could not copy go program at $(pwd): $!"; exit 1; }
# copy t3c-generate binary
godir="$ccpath"/t3c-generate
( mkdir -p "$godir" && \
cd "$godir" && \
cp "$TC_DIR"/"$ccdir"/t3c-generate/t3c-generate .
cp "$TC_DIR"/"$ccdir"/t3c-generate/t3c-generate.1 .
) || { echo "Could not copy go program at $(pwd): $!"; exit 1; }
# copy t3c-request binary
go_toreq_dir="$ccpath"/t3c-request
( mkdir -p "$go_toreq_dir" && \
cd "$go_toreq_dir" && \
cp "$TC_DIR"/"$ccdir"/t3c-request/t3c-request .
cp "$TC_DIR"/"$ccdir"/t3c-request/t3c-request.1 .
) || { echo "Could not copy go program at $(pwd): $!"; exit 1; }
# copy t3c-update binary
go_toupd_dir="$ccpath"/t3c-update
( mkdir -p "$go_toupd_dir" && \
cd "$go_toupd_dir" && \
cp "$TC_DIR"/"$ccdir"/t3c-update/t3c-update .
cp "$TC_DIR"/"$ccdir"/t3c-update/t3c-update.1 .
) || { echo "Could not copy go program at $(pwd): $!"; exit 1; }
# copy t3c-check binary
go_t3c_check_dir="$ccpath"/t3c-check
( mkdir -p "$go_t3c_check_dir" && \
cd "$go_t3c_check_dir" && \
cp "$TC_DIR"/"$ccdir"/t3c-check/t3c-check .
cp "$TC_DIR"/"$ccdir"/t3c-check/t3c-check.1 .
) || { echo "Could not copy go program at $(pwd): $!"; exit 1; }
# copy t3c-check-refs binary
go_t3c_check_refs_dir="$ccpath"/t3c-check-refs
( mkdir -p "$go_t3c_check_refs_dir" && \
cd "$go_t3c_check_refs_dir" && \
cp "$TC_DIR"/"$ccdir"/t3c-check-refs/t3c-check-refs .
cp "$TC_DIR"/"$ccdir"/t3c-check-refs/t3c-check-refs.1 .
) || { echo "Could not copy go program at $(pwd): $!"; exit 1; }
# copy t3c-diff binary
go_t3c_diff_dir="$ccpath"/t3c-diff
( mkdir -p "$go_t3c_diff_dir" && \
cd "$go_t3c_diff_dir" && \
cp "$TC_DIR"/"$ccdir"/t3c-diff/t3c-diff .
cp "$TC_DIR"/"$ccdir"/t3c-diff/t3c-diff.1 .
) || { echo "Could not copy go program at $(pwd): $!"; exit 1; }
# copy t3c-check-reload binary
go_t3c_check_reload_dir="$ccpath"/t3c-check-reload
( mkdir -p "$go_t3c_check_reload_dir" && \
cd "$go_t3c_check_reload_dir" && \
cp "$TC_DIR"/"$ccdir"/t3c-check-reload/t3c-check-reload .
cp "$TC_DIR"/"$ccdir"/t3c-check-reload/t3c-check-reload.1 .
) || { echo "Could not copy go program at $(pwd): $!"; exit 1; }
# copy t3c-preprocess binary
go_t3c_preprocess_dir="$ccpath"/t3c-preprocess
( mkdir -p "$go_t3c_preprocess_dir" && \
cd "$go_t3c_preprocess_dir" && \
cp "$TC_DIR"/"$ccdir"/t3c-preprocess/t3c-preprocess .
cp "$TC_DIR"/"$ccdir"/t3c-preprocess/t3c-preprocess.1 .
) || { echo "Could not copy go program at $(pwd): $!"; exit 1; }
# copy tm-health-client binary
go_tm_health_client_dir="$ccpath"/tm-health-client
( mkdir -p "$go_tm_health_client_dir" && \
cd "$go_tm_health_client_dir" && \
cp "$TC_DIR"/"$ccdir"/tm-health-client/tm-health-client .
cp "$TC_DIR"/"$ccdir"/tm-health-client/tm-health-client.1 .
cp "$TC_DIR"/"$ccdir"/tm-health-client/tm-health-client.json ./tm-health-client.json.sample
cp "$TC_DIR"/"$ccdir"/tm-health-client/tm-health-client-logrotate .
cp "$TC_DIR"/"$ccdir"/tm-health-client/tm-health-client.service .
) || { echo "Could not copy go program at $(pwd): $!"; exit 1; }
%install
ccdir="cache-config/"
installdir="/usr/bin"
mandir="/usr/share/man"
man1dir="man1"
mkdir -p ${RPM_BUILD_ROOT}/"$installdir"
mkdir -p "${RPM_BUILD_ROOT}"/etc/logrotate.d
mkdir -p "${RPM_BUILD_ROOT}"/var/log/trafficcontrol-cache-config
mkdir -p ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"
mkdir -p ${RPM_BUILD_ROOT}/etc/trafficcontrol-cache-config
mkdir -p ${RPM_BUILD_ROOT}/usr/lib/systemd/system
cp -p ${RPM_SOURCE_DIR}/trafficcontrol-cache-config-%{version}/traffic_ops_ort.pl ${RPM_BUILD_ROOT}/"$installdir"
cp -p ${RPM_SOURCE_DIR}/trafficcontrol-cache-config-%{version}/supermicro_udev_mapper.pl ${RPM_BUILD_ROOT}/"$installdir"
src=src/github.com/apache/trafficcontrol/cache-config
cp -p ${RPM_SOURCE_DIR}/trafficcontrol-cache-config-%{version}/build/atstccfg.logrotate "${RPM_BUILD_ROOT}"/etc/logrotate.d/atstccfg
touch ${RPM_BUILD_ROOT}/var/log/trafficcontrol-cache-config/atstccfg.log
cp -p "$src"/t3c-generate/t3c-generate ${RPM_BUILD_ROOT}/"$installdir"
gzip -c -9 "$src"/t3c-generate/t3c-generate.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-generate.1.gz
t3csrc=src/github.com/apache/trafficcontrol/"$ccdir"/t3c
cp -p "$t3csrc"/t3c ${RPM_BUILD_ROOT}/"$installdir"
gzip -c -9 "$src"/t3c/t3c.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c.1.gz
t3c_apply_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-apply
cp -p "$t3c_apply_src"/t3c-apply ${RPM_BUILD_ROOT}/"$installdir"
gzip -c -9 "$src"/t3c-apply/t3c-apply.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-apply.1.gz
to_req_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-request
cp -p "$to_req_src"/t3c-request ${RPM_BUILD_ROOT}/"$installdir"
gzip -c -9 "$src"/t3c-request/t3c-request.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-request.1.gz
to_upd_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-update
cp -p "$to_upd_src"/t3c-update ${RPM_BUILD_ROOT}/"$installdir"
gzip -c -9 "$src"/t3c-update/t3c-update.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-update.1.gz
t3c_diff_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-diff
cp -p "$t3c_diff_src"/t3c-diff ${RPM_BUILD_ROOT}/"$installdir"
gzip -c -9 "$src"/t3c-diff/t3c-diff.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-diff.1.gz
t3c_check_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-check
cp -p "$t3c_check_src"/t3c-check ${RPM_BUILD_ROOT}/"$installdir"
gzip -c -9 "$src"/t3c-check/t3c-check.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-check.1.gz
t3c_check_refs_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-check-refs
cp -p "$t3c_check_refs_src"/t3c-check-refs ${RPM_BUILD_ROOT}/"$installdir"
gzip -c -9 "$src"/t3c-check-refs/t3c-check-refs.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-check-refs.1.gz
t3c_check_reload_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-check-reload
cp -p "$t3c_check_reload_src"/t3c-check-reload ${RPM_BUILD_ROOT}/"$installdir"
gzip -c -9 "$src"/t3c-check-reload/t3c-check-reload.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-check-reload.1.gz
t3c_preprocess_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-preprocess
cp -p "$t3c_preprocess_src"/t3c-preprocess ${RPM_BUILD_ROOT}/"$installdir"
gzip -c -9 "$src"/t3c-preprocess/t3c-preprocess.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-preprocess.1.gz
tm_health_client_src=src/github.com/apache/trafficcontrol/"$ccdir"/tm-health-client
cp -p "$tm_health_client_src"/tm-health-client ${RPM_BUILD_ROOT}/"$installdir"
cp -p "$tm_health_client_src"/tm-health-client.json.sample ${RPM_BUILD_ROOT}/etc/trafficcontrol-cache-config
cp -p "$tm_health_client_src"/tm-health-client-logrotate ${RPM_BUILD_ROOT}/etc/logrotate.d
cp -p "$tm_health_client_src"/tm-health-client.service ${RPM_BUILD_ROOT}/usr/lib/systemd/system
gzip -c -9 "$src"/tm-health-client/tm-health-client.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/tm-health-client.1.gz
mkdir -p ${RPM_BUILD_ROOT}/var/lib/trafficcontrol-cache-config
ls ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/
%clean
rm -rf ${RPM_BUILD_ROOT}
%post
# update mandb to put man pages in the whatis database, so apps like 'whatis' and 'apropos' get the new pages
mandb_out="$(mandb 2>&1)"
mandb_ret=$?
if [ $mandb_ret -eq 0 ]; then
printf "%s\n" "Updated mandb"
else
printf "Failed to update mandb: code %s\n%s\n" "${mandb_ret}" "${mandb_out}"
fi
%postun
# update whatis database, to remove t3c data
mandb_out="$(mandb 2>&1)"
mandb_ret=$?
if [ $mandb_ret -eq 0 ]; then
printf "%s\n" "Updated mandb"
else
printf "Failed to update mandb: code %s\n%s\n" "${mandb_ret}" "${mandb_out}"
fi
%files
%license LICENSE
%attr(755, root, root)
/usr/bin/traffic_ops_ort.pl
/usr/bin/supermicro_udev_mapper.pl
/usr/bin/t3c
/usr/bin/t3c-apply
/usr/bin/t3c-check
/usr/bin/t3c-check-refs
/usr/bin/t3c-check-reload
/usr/bin/t3c-diff
/usr/bin/t3c-generate
/usr/bin/t3c-preprocess
/usr/bin/t3c-request
/usr/bin/t3c-update
/usr/bin/tm-health-client
/usr/share/man/man1/t3c.1.gz
/usr/share/man/man1/t3c-apply.1.gz
/usr/share/man/man1/t3c-check.1.gz
/usr/share/man/man1/t3c-check-refs.1.gz
/usr/share/man/man1/t3c-check-reload.1.gz
/usr/share/man/man1/t3c-diff.1.gz
/usr/share/man/man1/t3c-generate.1.gz
/usr/share/man/man1/t3c-preprocess.1.gz
/usr/share/man/man1/t3c-request.1.gz
/usr/share/man/man1/t3c-update.1.gz
/usr/share/man/man1/tm-health-client.1.gz
/etc/trafficcontrol-cache-config/tm-health-client.json.sample
/etc/logrotate.d/tm-health-client-logrotate
/usr/lib/systemd/system/tm-health-client.service
%dir /var/lib/trafficcontrol-cache-config
%config(noreplace) /etc/logrotate.d/atstccfg
%config(noreplace) /var/log/trafficcontrol-cache-config/atstccfg.log
%changelog