%global project copy_jdk_configs %global file %{project}.lua %global rpm_state_dir %{_localstatedir}/lib/rpm-state Name: copy-jdk-configs Version: 1.1 Release: 2%{?dist} Summary: JDKs configuration files copier License: BSD URL: https://hg.fedorahosted.org/hg/%{project} Source0: https://hg.fedorahosted.org/hg/copy_jdk_configs/raw-file/%{project}-%{version}/%{file} Source1: https://hg.fedorahosted.org/hg/copy_jdk_configs/raw-file/%{project}-%{version}/LICENSE # we need to duplicate msot of the percents in that script so they survive rpm expansion (even in that sed they have to be duplicated) %global pretrans_install %(cat %{SOURCE0} | sed s/%%/%%%%/g | sed s/\\^%%%%/^%%/g) BuildArch: noarch Requires: lua Requires: lua-posix %description Utility script to transfer JDKs configuration files between updates or for archiving. %prep cp -a %{SOURCE1} . %build #blob %pretrans -p -- the sript must be available during pretrans, so multiply it to tmp os.execute("mkdir -p " .. "%{rpm_state_dir}") temp_path="%{rpm_state_dir}" .. "/" .. "%{file}" -- print("generating " .. temp_path) file = io.open(temp_path, "w") file:write([[%{pretrans_install}]]) file:close() %install mkdir -p $RPM_BUILD_ROOT/%{_libexecdir} cp -a %{SOURCE0} $RPM_BUILD_ROOT/%{_libexecdir}/%{file} %posttrans # remove file created in pretrans # echo "removing %{rpm_state_dir}/%{file}" rm "%{rpm_state_dir}/%{file}" %files %{_libexecdir}/%{file} %license LICENSE %changelog * Wed Dec 16 2015 Jiri Vanek - 1.1-2 - package now "installs" also during pretrans, so pretrasn scripts can use it - pretrasn "install" is removed in postrans * Wed Nov 25 2015 Jiri Vanek - 1.1-1 - initial package