mirror of https://gitlab.com/rnger/amath
220 lines
8.1 KiB
Bash
Executable File
220 lines
8.1 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Copyright {c} 2014-2021 Carsten Sonne Larsen <cs@innolan.net>
|
|
# All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions
|
|
# are met:
|
|
# 1. Redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
# 2. Redistributions in binary form must reproduce the above copyright
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
# documentation and/or other materials provided with the distribution.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
# ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
# DAMAGES {INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION}
|
|
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
# LIABILITY, OR TORT {INCLUDING NEGLIGENCE OR OTHERWISE} ARISING IN ANY WAY
|
|
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
# SUCH DAMAGE.
|
|
#
|
|
# Project homepage:
|
|
# https://amath.innolan.net
|
|
#
|
|
|
|
# THIS SCRIPT IS NOT READY FOR PRODUCTION !
|
|
|
|
set -e
|
|
|
|
version="1.9.0"
|
|
|
|
build_package () {
|
|
|
|
rm -Rf amath
|
|
rm -f amath.deb
|
|
rm -f amath-dev-${version}_$1.deb
|
|
sh configure CFLAGS=$2
|
|
make clean
|
|
|
|
echo "Building $3 bit package of amath-dev ${version} for Debian ..."
|
|
make
|
|
mv amath amath.tmp
|
|
|
|
# Create filesystem layout
|
|
mkdir -m 755 amath
|
|
mkdir -m 755 amath/DEBIAN
|
|
mkdir -m 755 amath/usr/
|
|
mkdir -m 755 amath/usr/bin
|
|
mkdir -m 755 amath/usr/lib
|
|
mkdir -m 755 amath/usr/lib/pkgconfig
|
|
mkdir -m 755 amath/usr/include
|
|
mkdir -m 755 amath/usr/share
|
|
mkdir -m 755 amath/usr/share/amath
|
|
mkdir -m 755 amath/usr/share/man
|
|
mkdir -m 755 amath/usr/share/man/man1
|
|
mkdir -m 755 amath/usr/share/man/man3
|
|
mkdir -m 755 amath/usr/share/doc
|
|
mkdir -m 755 amath/usr/share/doc/amath-dev
|
|
|
|
# Copy binaries
|
|
mv amath.tmp amath/usr/bin/amath
|
|
chmod 0755 amath/usr/bin/amath
|
|
mv src/lib/static/libamathapp.a amath/usr/lib/libamathapp.a
|
|
chmod 0644 amath/usr/lib/libamathapp.a
|
|
mv src/lib/libamathapp.so amath/usr/lib/libamathapp.so.${version}
|
|
chmod 0644 amath/usr/lib/libamathapp.so.${version}
|
|
mv src/clib/static/libamathc.a amath/usr/lib/libamathc.a
|
|
chmod 0644 amath/usr/lib/libamathc.a
|
|
mv src/clib/libamathc.so amath/usr/lib/libamathc.so.${version}
|
|
chmod 0644 amath/usr/lib/libamathc.so.${version}
|
|
mv src/real/static/libamath.a amath/usr/lib/libamath.a
|
|
chmod 0644 amath/usr/lib/libamath.a
|
|
mv src/real/libamath.so amath/usr/lib/libamath.so.${version}
|
|
chmod 0644 amath/usr/lib/libamath.so.${version}
|
|
mv src/cplex/static/libamathcplex.a amath/usr/lib/libamathcplex.a
|
|
chmod 0644 amath/usr/lib/libamathcplex.a
|
|
mv src/cplex/libamathcplex.so amath/usr/lib/libamathcplex.so.${version}
|
|
chmod 0644 amath/usr/lib/libamathcplex.so.${version}
|
|
|
|
# Copy pkg-config files
|
|
cp src/lib/amatha.pc amath/usr/lib/pkgconfig/amatha.pc
|
|
cp src/clib/amathc.pc amath/usr/lib/pkgconfig/amathc.pc
|
|
cp src/real/amathr.pc amath/usr/lib/pkgconfig/amathr.pc
|
|
cp src/cplex/amathi.pc amath/usr/lib/pkgconfig/amathi.pc
|
|
chmod 644 amath/usr/lib/pkgconfig/*
|
|
|
|
# Copy includes
|
|
cp src/amath.h amath/usr/include/amath.h
|
|
cp src/amathc.h amath/usr/include/amathc.h
|
|
cp src/amatht.h amath/usr/include/amatht.h
|
|
cp src/mathi.h amath/usr/include/amathi.h
|
|
cp src/mathr.h amath/usr/include/amathr.h
|
|
chmod 644 amath/usr/include/*
|
|
|
|
# Copy documentation
|
|
cp HISTORY amath/usr/share/doc/amath-dev/changelog
|
|
gzip --best -n amath/usr/share/doc/amath-dev/changelog
|
|
cp README amath/usr/share/doc/amath-dev/
|
|
gzip --best -n amath/usr/share/doc/amath-dev/README
|
|
chmod 644 amath/usr/share/doc/amath-dev/*
|
|
|
|
# Copy man pages
|
|
cp amath.1 amath/usr/share/man/man1/amath.1
|
|
cp src/clib/amathc.3 amath/usr/share/man/man3/amathc.3
|
|
cp src/real/amathr.3 amath/usr/share/man/man3/amathr.3
|
|
cp src/cplex/amathi.3 amath/usr/share/man/man3/amathi.3
|
|
|
|
gzip --best -n amath/usr/share/man/man1/amath.1
|
|
gzip --best -n amath/usr/share/man/man3/amathc.3
|
|
gzip --best -n amath/usr/share/man/man3/amathr.3
|
|
gzip --best -n amath/usr/share/man/man3/amathi.3
|
|
chmod 644 amath/usr/share/man/man1/*
|
|
chmod 644 amath/usr/share/man/man3/*
|
|
|
|
# Copy scripts
|
|
cp script/* amath/usr/share/amath/
|
|
chmod 644 amath/usr/share/amath/*
|
|
|
|
# Create control file
|
|
{
|
|
echo "Package: amath-dev"
|
|
echo "Version: ${version}"
|
|
echo "Architecture: $1"
|
|
echo "Maintainer: Carsten Sonne Larsen <cs@innolan.net>"
|
|
echo "Installed-Size: $4"
|
|
echo "Depends: libc6"
|
|
echo "Section: math"
|
|
echo "Priority: optional"
|
|
echo "Homepage: https://amath.innolan.net"
|
|
echo "Built-Using: gcc-5.4"
|
|
echo "Description: Simple command line calculator"
|
|
echo " Features a case sensitive command line interface, internal IEEE 754"
|
|
echo " calculations with 15 significant digits, calculations with real and"
|
|
echo " complex numbers, variables and user defined functions, logarithmic"
|
|
echo " and exponential functions, trigonometric and hyperbolic function"
|
|
echo " and selected mathematical constants and rounding functions."
|
|
} >amath/DEBIAN/control
|
|
chmod 0755 amath/DEBIAN/control
|
|
|
|
# Create license file
|
|
{
|
|
echo "Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/"
|
|
echo "Upstream-Name: amath-dev"
|
|
echo "Source: https://amath.innolan.net"
|
|
echo
|
|
echo "Files: *"
|
|
echo "Copyright: 2014-2021 Carsten Sonne Larsen <cs@innolan.net>"
|
|
echo " 2007 The NetBSD Foundation, Inc."
|
|
echo " 1990, 1993 The Regents of the University of California."
|
|
echo "License: BSD-2-Clause"
|
|
echo " Redistribution and use in source and binary forms, with or without"
|
|
echo " modification, are permitted provided that the following conditions are met:"
|
|
echo " ."
|
|
echo " Redistributions of source code must retain the above copyright notice, this"
|
|
echo " list of conditions and the following disclaimer."
|
|
echo " ."
|
|
echo " Redistributions in binary form must reproduce the above copyright notice,"
|
|
echo " this list of conditions and the following disclaimer in the documentation"
|
|
echo " and/or other materials provided with the distribution."
|
|
echo " ."
|
|
echo " THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\""
|
|
echo " AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE"
|
|
echo " IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE"
|
|
echo " DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE"
|
|
echo " FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL"
|
|
echo " DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR"
|
|
echo " SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER"
|
|
echo " CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,"
|
|
echo " OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE"
|
|
echo " OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
|
} >amath/usr/share/doc/amath-dev/copyright
|
|
chmod 644 amath/usr/share/doc/amath-dev/copyright
|
|
|
|
{
|
|
echo "libamath ${version}"
|
|
echo "libamathc ${version}"
|
|
echo "libamathcplex ${version}"
|
|
echo "libamathapp ${version}"
|
|
} >amath/DEBIAN/shlibs
|
|
chmod 0644 amath/DEBIAN/shlibs
|
|
|
|
# Create post install script
|
|
{
|
|
echo "#!/bin/sh"
|
|
echo "set -e"
|
|
echo "ln -s /usr/lib/libamathapp.so.${version} /usr/lib/libamathapp.so"
|
|
echo "ln -s /usr/lib/libamathc.so.${version} /usr/lib/libamathc.so"
|
|
echo "ln -s /usr/lib/libamath.so.${version} /usr/lib/libamath.so"
|
|
echo "ln -s /usr/lib/libamathcplex.so.${version} /usr/lib/libamathcplex.so"
|
|
echo "ldconfig"
|
|
} >amath/DEBIAN/postinst
|
|
chmod 0755 amath/DEBIAN/postinst
|
|
|
|
# Create post remove script
|
|
{
|
|
echo "#!/bin/sh"
|
|
echo "set -e"
|
|
echo "if [ "\$1" = "remove" ]; then"
|
|
echo "ldconfig"
|
|
echo "fi"
|
|
echo "rm -f /usr/lib/libamathapp.so.${version}"
|
|
echo "rm -f /usr/lib/libamathc.so.${version}"
|
|
echo "rm -f /usr/lib/libamath.so.${version}"
|
|
echo "rm -f /usr/lib/libamathcplex.so.${version}"
|
|
} >amath/DEBIAN/postrm
|
|
chmod 0755 amath/DEBIAN/postrm
|
|
|
|
fakeroot dpkg-deb --build amath
|
|
mv amath.deb amath-dev-${version}_$1.deb
|
|
rm -Rf amath
|
|
}
|
|
|
|
build_package 'amd64' '' 64 980
|
|
build_package 'i386' '-m32' 32 980
|