projects (1.0-%BUILD%) unstable; urgency=medium
* prebuild in <paket>.build no longer supported
* support of cmake builds
+ * standard copyright, README.build in deb packages
-- Michael Wagner <michael@wagnertech.de> Tue, 12 Jan 2021 22:54:48 +0100
projects (0.6-%BUILD%) unstable; urgency=medium
cp tools/make/mMakefile $base/usr/share/mbuild/makefile
cp tools/make/c_configure.sh $base/usr/share/mbuild/
cp tools/make/cpp.make $base/usr/share/mbuild/
+cp doc/copyright $base/usr/share/mbuild/
mkdir -p $base/usr/share/man/man8
gzip -c doc/mbuild.8 >$base/usr/share/man/man8/mbuild.8.gz
gzip -c doc/mconfigure.1 >$base/usr/share/man/man1/mconfigure.1.gz
mkdir -p $base/usr/share/doc/mbuild
-cp doc/copyright $base/usr/share/doc/mbuild/
cp debian/mbuild.changelog $base/usr/share/doc/mbuild/changelog
are needed, these files must be also placed in the
.B debian
directory.
+.br
+A standard copyright file is included. An user defined file can be used by copying it to debian/copyright
+in the PAKET.prepare script.
+.br
+A standard README.debian file is included. An user defined file can be used by copying it to debian/README.debian
+in the PAKET.prepare script.
.SH FILES
.TP
PAKET.changelog
cd ../build
if [ -e debian/$paket.cmake ]
then
+ # do checks
+ if [ -e debian/$paket.build ]
+ then
+ echo "cmake is not compatible with other builds. Remove $paket.build"
+ exit 1
+ fi
+ if [ -e debian/$paket.prebuild ]
+ then
+ echo "cmake is not compatible with other builds. Remove $paket.prebuild"
+ exit 2
+ fi
+
cp debian/$paket.cmake CMakeLists.txt
echo "make" > debian/$paket.build
chmod 755 debian/$paket.build
echo " -o : support old Debian 7 format"
}
+function cmake_check {
+ pushd ../build >/dev/null
+ # do checks
+ if [ -e debian/$paket.build ]
+ then
+ echo "cmake is not compatible with other builds. Remove $paket.build"
+ exit 1
+ fi
+ if [ -e debian/$paket.prebuild ]
+ then
+ echo "cmake is not compatible with other builds. Remove $paket.prebuild"
+ exit 2
+ fi
+
+ cp debian/$paket.cmake CMakeLists.txt
+ echo "make" > debian/$paket.build
+ chmod 755 debian/$paket.build
+ cmake .
+ popd >/dev/null
+}
function check_unversioned {
# has to be called in the projects base directory
# result: "M" in stdout or nothing
fi
changes=$(check_unversioned)
tag="$tag$changes"
- version=${tag%-*}
- version=${version##*_}
+ version=${tag##*_}
+ version=${version%%-*}
build=${tag##*-}
else
echo "No configuration system found. Cannot determine version."
if [ $configure -eq 1 ]
then
# delete changelog and control
- rm debian/changelog debian/control 2>/dev/null || true
+ rm debian/changelog debian/control debian/README.debian debian/copyright 2>/dev/null || true
# mconfigure builds 2 environment files: setenv.sh + rules.pre
echo "" > debian/rules.pre
echo "add_inst_tgt += debian/tmp/DEBIAN/postrm" >> rules.pre
fi
+ # check for README.debian
+ if [ -f $paket.README.debian ]
+ then
+ cp $paket.README.debian README.debian
+ fi
+
mkdir -p tmp/DEBIAN
# add export to setenv.sh
. debian/setenv.sh
debian/$paket.prepare
fi
- if [ -e debian/$paket.cmake ]
- then
- # trigger build
- touch debian/$paket.build
- fi
- if [ -e debian/$paket.build ]
+ # .build or .cmake
+ if [ -x debian/$paket.build -o -e debian/$paket.cmake ]
then
if [ -e ../build ]
then
exit 2
fi
# sync build dir
-# . debian/setenv.sh
-# debian/rules sync
-
+ . debian/setenv.sh
+ debian/rules sync
+ fi
+ # .build
+ if [ -x debian/$paket.build ]
+ then
+ if [ -x debian/$paket.prebuild ]
+ then
+ pushd ../build >/dev/null
+ . debian/setenv.sh
+ debian/$paket.prebuild
+ popd >/dev/null
+ fi
+ fi
+ # .cmake
+ if [ -e debian/$paket.cmake ]
+ then
+ cmake_check
fi
# pack prepare
fi
fi
-if [ $compile -eq 1 -a ! -e debian/$paket.build ]
-then
- echo "no debian/$paket.build: skipping build step"
- compile=0
-fi
if [ $compile -eq 1 ]
then
- # build package
- . debian/setenv.sh
- debian/rules build
+ if [ -x debian/$paket.build -o -e debian/$paket.cmake ]
+ then
+ # build package
+ . debian/setenv.sh
+ debian/rules build
+ else
+ echo "skipping build step ..."
+ fi
fi
if [ $pack -eq 1 ]
NOP = @echo "No operation for target $@"
DEB = fakeroot dpkg-deb --build $(oldpack) debian/tmp
INSERT_BUILD = /usr/share/mbuild/insert_build.sh
-RSYNC_OPT = -av --exclude="build" --exclude="debian/tmp" --exclude="Packages" --exclude=".*"
+RSYNC_OPT = -av --exclude="build" --exclude="debian/tmp" --exclude="Packages" --exclude="*Aktuell" --exclude=".*"
+std_inst_tgt = debian/tmp/usr/share/doc/$(paket)/copyright debian/tmp/usr/share/doc/$(paket)/README.debian
include debian/rules.pre
-rm -rf debian/tmp
# Bauen der kompilierten Programme und formatierten Dokumente aus den Quellen im Bauverzeichnis
-build: debian/$(paket).build prebuild
+build: ../build/debian/$(paket).build
cd ../build ; debian/$(paket).build
# Build succeeded
# Erstellen Architektur-unabhängiger (Architecture: all) Binärpakete im übergeordneten Verzeichnis
binary-indep: $(BINARY_INDEP)
-#copy ../$(paket)_$(version)-$(build)_all.deb
-
version: ~/build/$(TARGET)
$(INSERT_BUILD) ~/build/$(TARGET) $(build)
cp ~/build/*$(build)* ../
sync: ../build
rsync $(RSYNC_OPT) ./ ../build/
-../build/cmake_check:
- /usr/share/mbuild/cmake_check
- touch ../build/cmake_check
-
-prebuild: sync ../build/cmake_check
- cd ../build ; if [ -x debian/$(paket).prebuild ]; then debian/$(paket).prebuild; fi
-
copy: debian/$(paket).cp
debian/$(paket).cp debian/tmp
-../$(paket)_$(version)-$(build)_$(arch).deb:debian/tmp/DEBIAN/control $(add_inst_tgt)
+../$(paket)_$(version)-$(build)_$(arch).deb:debian/tmp/DEBIAN/control $(std_inst_tgt) $(add_inst_tgt)
$(DEB)
mv debian/tmp.deb ../$(paket)_$(version)-$(build)_$(arch).deb
debian/changelog: debian/$(paket).changelog debian/rules.pre
sed "s/%BUILD%/$(build)/" debian/$(paket).changelog > debian/changelog
-# echo "${pwd} (${build}) unstable; urgency=medium" > debian/changelog
-# echo " * generated by mbuild" >> debian/changelog
-# echo " -- Michael Wagner <info@wagnertech.de> Sun, 11 Feb 2018 20:03:04 +0100" >> debian/changelog
-# mb_create_changelog
+
+debian/tmp/usr/share/doc/$(paket)/copyright: debian/copyright
+ mkdir -p debian/tmp/usr/share/doc/$(paket)
+ cp debian/copyright debian/tmp/usr/share/doc/$(paket)/copyright
+
+debian/tmp/usr/share/doc/$(paket)/README.debian: debian/README.debian
+ mkdir -p debian/tmp/usr/share/doc/$(paket)
+ cp debian/README.debian debian/tmp/usr/share/doc/$(paket)/README.debian
debian/tmp/DEBIAN/preinst: debian/$(paket).preinst
cp debian/$(paket).preinst debian/tmp/DEBIAN/preinst
debian/tmp/DEBIAN/postrm: debian/$(paket).postrm
cp debian/$(paket).postrm debian/tmp/DEBIAN/postrm
+debian/README.debian:
+ echo "developed under:" > debian/README.debian
+ cat /etc/issue >> debian/README.debian
+ echo "Architecture: $(arch)" >> debian/README.debian
+
+debian/copyright:
+ cp /usr/share/mbuild/copyright debian/copyright
+
# Load project specification
-include rules.post
-# if debian/control is missing, try old mbuild way
-#debian/control:
-# if [ -e debian/$(paket).control ]; then echo "trallala"; fi