diff --git a/.gitignore b/.gitignore index 796b96d..67e07b8 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /build +/release diff --git a/DEBIAN/control b/DEBIAN/control new file mode 100644 index 0000000..7ae5be4 --- /dev/null +++ b/DEBIAN/control @@ -0,0 +1,12 @@ +Package: remaster +Source: remaster +Version: 1.9.3 +Architecture: all +Maintainer: 6543 <6543@obermui.de> +Installed-Size: +Depends: squashfs-tools, xorriso, wget, sed, sendemail, bash +Suggests: nfs-kernel-server, isc-dhcp-server +Section: utils +Priority: optional +Homepage: https://github.com/6543/remaster +Description: The aim of this Project is to create a daemon for a server, witch update live systems. diff --git a/DEBIAN/postinst b/DEBIAN/postinst new file mode 100755 index 0000000..1a24852 --- /dev/null +++ b/DEBIAN/postinst @@ -0,0 +1 @@ +#!/bin/sh diff --git a/DEBIAN/postrm b/DEBIAN/postrm new file mode 100755 index 0000000..1a24852 --- /dev/null +++ b/DEBIAN/postrm @@ -0,0 +1 @@ +#!/bin/sh diff --git a/DEBIAN/preinst b/DEBIAN/preinst new file mode 100755 index 0000000..1a24852 --- /dev/null +++ b/DEBIAN/preinst @@ -0,0 +1 @@ +#!/bin/sh diff --git a/DEBIAN/prerm b/DEBIAN/prerm new file mode 100755 index 0000000..1a24852 --- /dev/null +++ b/DEBIAN/prerm @@ -0,0 +1 @@ +#!/bin/sh diff --git a/autogen.sh b/autogen.sh index 3026a54..922a731 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,77 +1,107 @@ #!/bin/bash -# at the moment only generate dir structure in /build +# install | clean | debug | build-deb -#make ... function clean() { - echo "clear build" - [ -d build ] && rm -v -R build - mkdir build + echo "clear build" + [ -d build ] && rm -v -R build + mkdir build } -function build() { - echo "build ..." - ## skripte copieren ## - # remaster - mkdir -p build/usr/bin/ - cp -v src/remaster.sh build/usr/bin/remaster - chmod +x build/usr/bin/remaster +function copy() { + echo "copy files ..." + # remaster + mkdir -p build/usr/bin/ + cp -v src/remaster.sh build/usr/bin/remaster + chmod +x build/usr/bin/remaster - # modules - mkdir -p build/usr/lib/remaster/ - for i in proj func mods; do - mkdir -p build/usr/lib/remaster/$i - cp -v src/$i/* build/usr/lib/remaster/$i/ - done + # modules + mkdir -p build/usr/lib/remaster/ + for i in proj func mods; do + mkdir -p build/usr/lib/remaster/$i + cp -v src/$i/* build/usr/lib/remaster/$i/ + done - # setting - mkdir -p build/etc/remaster/ - cp -v src/config.sample.cfg build/etc/remaster/config.sample.cfg + # setting + mkdir -p build/etc/remaster/ + cp -v src/config.sample.cfg build/etc/remaster/config.sample.cfg + #changelog + mkdir -p build/usr/share/doc/remaster + cp -v changes/remaster.md build/usr/share/doc/remaster/changelog + gzip build/usr/share/doc/remaster/changelog } #config ... function set_rootdir() { - sed -i "s##$1#g" build/usr/bin/remaster - for i in proj func mods; do - sed -i "s##$1#g" build/usr/lib/remaster/$i/* - done + sed -i "s##$1#g" build/usr/bin/remaster + for i in proj func mods; do + sed -i "s##$1#g" build/usr/lib/remaster/$i/* + done } function set_libdir() { - sed -i "s##$1#g" build/usr/bin/remaster - for i in proj func mods; do - sed -i "s##$1#g" build/usr/lib/remaster/$i/* - done + sed -i "s##$1#g" build/usr/bin/remaster + for i in proj func mods; do + sed -i "s##$1#g" build/usr/lib/remaster/$i/* + done } #modes function debug() { - clean - build - set_rootdir "`pwd`/build" - set_libdir "`pwd`/build/usr/lib/remaster" + clean + copy + set_rootdir "`pwd`/build" + set_libdir "`pwd`/build/usr/lib/remaster" } function install() { - clean - build - set_rootdir "" - set_libdir "/usr/lib/remaster" - #cp -f -r build/* / + clean + copy + set_rootdir "" + set_libdir "/usr/lib/remaster" + #cp -f -r build/* / +} +function build-deb() { + clean + #prebuild + copy + set_rootdir "" + set_libdir "/usr/lib/remaster" + #### + ## changes for deb file + #### + cp -v -r -f DEBIAN build/ + #create md5sums + find ./build -type f -exec md5sum {} \; | grep -v './build/DEBIAN' | sed 's/\.\/build\///g' > build/DEBIAN/md5sums + #set size + SIZE="`du --exclude=build/DEBIAN -c build/ | cut -f 1 | tail -n 1`" + sed -i "s//$SIZE/g" build/DEBIAN/control + + ## + #build deb + ## + dpkg -b build/ + version="`cat build/DEBIAN/control | grep Version | cut -d " " -f 2`" + arch="`cat build/DEBIAN/control | grep Arch | cut -d " " -f 2`" + [ -f "release/remaster_"$version"_"$arch".deb" ] && rm "release/remaster_"$version"_"$arch".deb" + mv -v "build.deb" "release/remaster_"$version"_"$arch".deb" } case "$1" in - install) - install || exit 1 - ;; - clean) - clean || exit 1 - ;; - debug) - debug || exit 1 - ;; - build) - build || exit 1 - ;; - *) - echo "Usage: install | clean | debug | build" - exit 1 + install) + install || exit 1 + ;; + clean) + clean || exit 1 + ;; + debug) + debug || exit 1 + ;; + copy) + copy || exit 1 + ;; + build-deb) + build-deb || exit 1 + ;; + *) + echo "Usage: install | clean | debug | build-deb" + exit 1 esac diff --git a/script/set_version.sh b/script/set_version.sh index e9860c7..c8f7635 100755 --- a/script/set_version.sh +++ b/script/set_version.sh @@ -20,3 +20,7 @@ date=`date +%Y-%m-%d` echo $date - $version >> changes/remaster.md echo pleace update changes/remaster.md } + +[ -f "DEBIAN/control" ] && { + sed -i "s/Version:\ .\..\../Version:\ $version_sed/g" "DEBIAN/control" +}