mirror of https://github.com/KLayout/klayout.git
Updates of RPM and Debian packaging scripts.
This commit is contained in:
parent
bf03857dd1
commit
4ed31bf5ef
|
|
@ -7,5 +7,7 @@ Depends: %DEPENDS%
|
|||
Section: contrib/misc
|
||||
Priority: optional
|
||||
Description: Chip mask layout review and edit utility
|
||||
Klayout is a graphical viewer for a.o. GDSII and CIF files.
|
||||
Its features include net highlighting and XOR-ing of two layouts.
|
||||
Klayout is a graphical viewer and editor for a.o. GDSII, OASIS, CIF
|
||||
and other files.
|
||||
Its features include net highlighting and XOR-ing of two layouts,
|
||||
scripting capabilities in Ruby and Python and much more.
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=Klayout, viewer and editor of mask layouts.
|
||||
GenericName=layout viewer
|
||||
Comment=Klayout is a viewer (and editor) of mask layout in a.o. GDSII and CIF format.
|
||||
Exec=klayout
|
||||
Icon=klayout
|
||||
Type=Application
|
||||
Categories=Development;Engineering;Electronics;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
Before Width: | Height: | Size: 71 KiB |
|
|
@ -1,127 +1,148 @@
|
|||
#!/bin/sh -e
|
||||
|
||||
# See blog.peterscholtens.net/?p=210
|
||||
# Run this script with
|
||||
#
|
||||
# This scrips needs builds in:
|
||||
# bin.linux-32-gcc-release (32 bit)
|
||||
# and/or:
|
||||
# bin.linux-64-gcc-release (64 bit)
|
||||
# makedeb.sh <system>
|
||||
#
|
||||
# Create these builds with (-rpath and -bin are important):
|
||||
# ./build.sh -release -rpath /usr/lib/klayout -bin bin.linux-64-gcc-release -build build.linux-64-gcc-release
|
||||
# ./build.sh -release -rpath /usr/lib/klayout -bin bin.linux-32-gcc-release -build build.linux-32-gcc-release
|
||||
#
|
||||
# TODO:
|
||||
# - The dependency list needs to be updated manually currently
|
||||
# Currently system can be:
|
||||
# ubuntu16 - Ubuntu 16.10LTS
|
||||
# ...
|
||||
|
||||
|
||||
target="$1"
|
||||
|
||||
if ! [ -e version.sh ]; then
|
||||
echo "*** ERROR: no version information found (no version.sh). Call this script from the root directory."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# TODO: derive this list automatically?
|
||||
case $target in
|
||||
ubuntu16)
|
||||
depends="libqt4-designer (>= 4.8.1), libqt4-xml (>= 4.8.1), libqt4-sql (>= 4.8.1), libqt4-network (>= 4.8.1), libqtcore4 (>= 4.8.1), libqtgui4 (>= 4.8.1), zlib1g (>= 1.2.3.4), libruby2.3 (>= 2.3.1), libpython2.7 (>= 2.7.12), libstdc++6 (>= 4.6.3), libc6 (>= 2.15)"
|
||||
;;
|
||||
*)
|
||||
echo "Unknown target '$target' (given as first argument)"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
. ./version.sh
|
||||
|
||||
version="$KLAYOUT_VERSION"
|
||||
exe_name="klayout"
|
||||
bits=64
|
||||
|
||||
# TODO: derive this list automatically?
|
||||
depends="libqt4-designer (>= 4.8.1), libqt4-xml (>= 4.8.1), libqt4-sql (>= 4.8.1), libqt4-network (>= 4.8.1), libqtcore4 (>= 4.8.1), libqtgui4 (>= 4.8.1), zlib1g (>= 1.2.3.4), libruby2.3 (>= 2.3.1), libpython2.7 (>= 2.7.12), libstdc++6 (>= 4.6.3), libc6 (>= 2.15)"
|
||||
|
||||
umask 0022
|
||||
|
||||
for bits in 32 64; do
|
||||
echo "Checking $bits installation"
|
||||
echo "----------------------------------------"
|
||||
|
||||
echo "Checking $bits installation"
|
||||
echo "----------------------------------------"
|
||||
bindir="bin.linux.release"
|
||||
builddir="bin.linux.release"
|
||||
libdir="/usr/lib/klayout"
|
||||
|
||||
if [ "$bits" = "32" ]; then
|
||||
arch="i386"
|
||||
bindir="bin.linux-32-gcc-release"
|
||||
else
|
||||
arch="amd64"
|
||||
bindir="bin.linux-64-gcc-release"
|
||||
fi
|
||||
./build.sh -j4 \
|
||||
-bin $bindir \
|
||||
-build $builddir \
|
||||
-rpath $libdir \
|
||||
-without-qtbinding
|
||||
|
||||
if [ -d $bindir ]; then
|
||||
|
||||
rm -rf makedeb-tmp
|
||||
mkdir makedeb-tmp
|
||||
|
||||
pkgname=${exe_name}_${version}-1_$arch
|
||||
|
||||
echo "INFO: package name is $pkgname"
|
||||
|
||||
echo "Copying files .."
|
||||
cd scripts/deb-data
|
||||
tar --exclude=".svn" -cf data.tar *
|
||||
mv data.tar ../..
|
||||
cd ../..
|
||||
cd makedeb-tmp
|
||||
mv ../data.tar .
|
||||
tar xf data.tar
|
||||
rm data.tar
|
||||
cd ..
|
||||
cp -pd $bindir/strm* makedeb-tmp/usr/bin
|
||||
cp -pd $bindir/klayout makedeb-tmp/usr/bin
|
||||
cp -pd $bindir/lib* makedeb-tmp/usr/lib/klayout
|
||||
|
||||
cd makedeb-tmp
|
||||
|
||||
echo "Checking files .."
|
||||
|
||||
grep -q $version usr/share/doc/klayout/copyright || (
|
||||
echo "*** ERROR: version $version not found in copyright file"
|
||||
exit 1
|
||||
)
|
||||
|
||||
grep -q $version usr/share/doc/klayout/changelog || (
|
||||
echo "*** ERROR: version $version not found in changelog file"
|
||||
exit 1
|
||||
)
|
||||
|
||||
grep -q $version usr/share/doc/klayout/changelog.Debian || (
|
||||
echo "*** ERROR: version $version not found in changelog.Debian file"
|
||||
exit 1
|
||||
)
|
||||
|
||||
echo "Modifying control file .."
|
||||
|
||||
strip usr/bin/*
|
||||
|
||||
size=`du -ck usr | grep total | sed "s/ *total//"`
|
||||
|
||||
mv control control.org
|
||||
cat control.org | sed "s/%ARCH%/$arch/g" | sed "s/%VERSION%/$version/g" | sed "s/%SIZE%/$size/g" | sed "s/%DEPENDS%/$depends/g" >control
|
||||
rm -f control.org
|
||||
cat control
|
||||
|
||||
echo "Building .deb package .."
|
||||
|
||||
gzip -n --best usr/share/doc/klayout/changelog
|
||||
gzip -n --best usr/share/doc/klayout/changelog.Debian
|
||||
|
||||
# lintian complains about exec bits set
|
||||
find ./usr -name "lib*.so.*" -exec chmod 644 "{}" ";"
|
||||
if [ "$bits" = "32" ]; then
|
||||
arch="i386"
|
||||
else
|
||||
arch="amd64"
|
||||
fi
|
||||
|
||||
find ./usr -type f -exec md5sum "{}" ";" >md5sums
|
||||
chmod 644 md5sums
|
||||
|
||||
fakeroot tar -cvf data.tar ./usr
|
||||
gzip data.tar
|
||||
|
||||
fakeroot tar -cvf control.tar control md5sums postinst postrm
|
||||
gzip control.tar
|
||||
|
||||
fakeroot ar cr $pkgname.deb debian-binary control.tar.gz data.tar.gz
|
||||
|
||||
echo "Finish making $pkgname.deb .."
|
||||
mv $pkgname.deb ..
|
||||
cd ..
|
||||
rm -rf makedeb-tmp
|
||||
rm -rf makedeb-tmp
|
||||
mkdir makedeb-tmp
|
||||
|
||||
pkgname=${exe_name}_${version}-1_$arch
|
||||
|
||||
echo "Running lintian $pkgname.deb .."
|
||||
lintian $pkgname.deb --suppress-tags binary-without-manpage --no-tag-display-limit
|
||||
echo "INFO: package name is $pkgname"
|
||||
|
||||
echo "Copying files .."
|
||||
cd scripts/deb-data
|
||||
tar --exclude=".svn" -cf data.tar *
|
||||
mv data.tar ../..
|
||||
cd ../..
|
||||
cd makedeb-tmp
|
||||
mv ../data.tar .
|
||||
tar xf data.tar
|
||||
rm data.tar
|
||||
cd ..
|
||||
|
||||
mkdir -p makedeb-tmp/usr/share/doc/klayout
|
||||
mkdir -p makedeb-tmp/usr/share/applications
|
||||
mkdir -p makedeb-tmp/usr/share/pixmaps
|
||||
mkdir -p makedeb-tmp/usr/lib/klayout
|
||||
mkdir -p makedeb-tmp/usr/bin
|
||||
|
||||
cp etc/klayout.desktop makedeb-tmp/usr/share/applications
|
||||
cp etc/logo.png makedeb-tmp/usr/share/pixmaps
|
||||
cp Changelog makedeb-tmp/usr/share/doc/klayout/changelog
|
||||
cp Changelog.Debian makedeb-tmp/usr/share/doc/klayout/changelog.Debian
|
||||
cp COPYRIGHT makedeb-tmp/usr/share/doc/klayout/copyright
|
||||
|
||||
cp -pd $bindir/strm* makedeb-tmp/usr/bin
|
||||
cp -pd $bindir/klayout makedeb-tmp/usr/bin
|
||||
cp -pd $bindir/lib*so* makedeb-tmp/usr/lib/klayout
|
||||
|
||||
cd makedeb-tmp
|
||||
|
||||
echo "Checking files .."
|
||||
|
||||
grep -q $version usr/share/doc/klayout/copyright || (
|
||||
echo "*** ERROR: version $version not found in copyright file"
|
||||
exit 1
|
||||
)
|
||||
|
||||
grep -q $version usr/share/doc/klayout/changelog || (
|
||||
echo "*** ERROR: version $version not found in changelog file"
|
||||
exit 1
|
||||
)
|
||||
|
||||
grep -q $version usr/share/doc/klayout/changelog.Debian || (
|
||||
echo "*** ERROR: version $version not found in changelog.Debian file"
|
||||
exit 1
|
||||
)
|
||||
|
||||
echo "Modifying control file .."
|
||||
|
||||
strip usr/bin/*
|
||||
|
||||
size=`du -ck usr | grep total | sed "s/ *total//"`
|
||||
|
||||
mv control control.org
|
||||
cat control.org | sed "s/%ARCH%/$arch/g" | sed "s/%VERSION%/$version/g" | sed "s/%SIZE%/$size/g" | sed "s/%DEPENDS%/$depends/g" >control
|
||||
rm -f control.org
|
||||
cat control
|
||||
|
||||
echo "Building .deb package .."
|
||||
|
||||
gzip -n --best usr/share/doc/klayout/changelog
|
||||
gzip -n --best usr/share/doc/klayout/changelog.Debian
|
||||
|
||||
# lintian complains about exec bits set
|
||||
find ./usr -name "lib*.so.*" -exec chmod 644 "{}" ";"
|
||||
|
||||
find ./usr -type f -exec md5sum "{}" ";" >md5sums
|
||||
chmod 644 md5sums
|
||||
|
||||
fakeroot tar -cvf data.tar ./usr
|
||||
gzip data.tar
|
||||
|
||||
fakeroot tar -cvf control.tar control md5sums postinst postrm
|
||||
gzip control.tar
|
||||
|
||||
fakeroot ar cr $pkgname.deb debian-binary control.tar.gz data.tar.gz
|
||||
|
||||
echo "Finish making $pkgname.deb .."
|
||||
mv $pkgname.deb ..
|
||||
cd ..
|
||||
rm -rf makedeb-tmp
|
||||
|
||||
echo "Running lintian $pkgname.deb .."
|
||||
lintian $pkgname.deb --suppress-tags binary-without-manpage --no-tag-display-limit
|
||||
|
||||
fi
|
||||
|
||||
done
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ AutoReqProv: no
|
|||
%if "%{target_system}" == "centos7"
|
||||
Requires: ruby >= 2.0.0
|
||||
Requires: python >= 2.7.5
|
||||
Requires: qt >= 4.8.5
|
||||
Requires: qt >= 4.8.5
|
||||
%endif
|
||||
|
||||
%if "%{target_system}" == "centos6"
|
||||
|
|
@ -43,6 +43,16 @@ Requires: qt >= 4.8.5
|
|||
# ...
|
||||
%endif
|
||||
|
||||
%if "%{target_system}" == "opensuse42_2"
|
||||
# OpenSuSE 42.2 requirements
|
||||
# ...
|
||||
%endif
|
||||
|
||||
%if "%{target_system}" == "opensuse42_3"
|
||||
# OpenSuSE 42.3 requirements
|
||||
# ...
|
||||
%endif
|
||||
|
||||
%description
|
||||
Mask layout viewer and editor for the chip design engineer.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue