#!/bin/bash NAME=inform7 VER=1.0.2 REL=13 SPEC=inform7.spec backup() { cp ~/RPM/SPECS/$SPEC ~/RPM/SPECS/$SPEC-`date +%H:%M:%S-%d.%m.%Y`.bak } tarprep() { tar czf ~/RPM/SOURCES/$NAME-$VER.tar.gz ./usr } genspec() { cat < ~/RPM/SPECS/$SPEC %define buildroot %_topdir/BUILD AutoProv: no %undefine __find_provides AutoReq: no %undefine __find_requires # Do not try autogenerate prereq/conflicts/obsoletes and check files %undefine __check_files %undefine __find_prereq %undefine __find_conflicts %undefine __find_obsoletes # Be sure buildpolicy set to do nothing %define __spec_install_post %{nil} # Something that need for rpm-4.1 %define _missing_doc_files_terminate_build 0 #RPMVERSION: 4.18.2 #INSTPREFIXES: / #OS: linux #ARCH: noarch BuildArch: noarch Name: $NAME Version: $VER Release: $REL License: GPL Group: none Summary: АПК 'Знайка' URL: https://arpa.net Vendor: Home Packager: developer Source: %_topdir/SOURCE/%name-%version.tar.gz Prefix: / Requires: desktop-file-utils Requires: dotnet-5.0 Requires: libX11-devel Requires: libvlc-devel #Requires: rpmlib(CompressedFileNames) <= 3.0.4-1 #Requires: rpmlib(PayloadFilesHavePrefix) <= 4.0-1 #suggest #enhance %description АПК 'Знайка' %prep rm -rf %buildroot/* %setup -c cp -r \$RPM_BUILD_ROOT/%name-%version/* \$RPM_BUILD_ROOT/ %files /usr %post -p /bin/sh #!/bin/sh set -e desktop-file-install /usr/local/share/applications/Inform7.desktop update-desktop-database ln -fs /usr/local/bin/Inform7/51-znayka-keyboard.rules /lib/udev/rules.d/ %postun -p /bin/sh #!/bin/sh set -e update-desktop-database unlink /lib/udev/rules.d/51-znayka-keyboard.rules %changelog EOF } build() { backup; tarprep; genspec; cd ~/RPM rpmbuild -bb ~/RPM/SPECS/$SPEC } echo "Start build rpm? (y/n)"; read ask; case $ask in y|Y|yes|Yes) build;; n|N|no|No) echo "Ok,exiting";; ?*) echo "Don't understand you...";; esac