Snippets

Atri Bhattacharya Vim snippets for rpm spec and changes

Created by Atri Bhattacharya last modified
priority -50

global !p

from datetime import datetime, timezone as tz
from locale import setlocale

def utctime(snip):
	setlocale(locale.LC_TIME, "en_US")
	now = datetime.now(tz.utc)
	snip.rv = datetime.strftime(now, "%a %b %_d %H:%M:%S UTC %Y")

endglobal

snippet new "New entry" b
-------------------------------------------------------------------
`!p utctime(snip)` - ${1:Name} <${2:email}>

- ${3}

endsnippet


snippet vers "Update to version" b
- Update to version ${1:0.0.0}:
  * ${2}
endsnippet


snippet ver "Update to version line only"
Update to version ${1:0.0.0}:
  * ${2}
endsnippet


snippet pata "Add patch"
Add ${1:name.patch}: ${2}
endsnippet


snippet patd "Drop patch"
Drop ${1:name.patch}: ${2}
endsnippet
priority -49

extends sh

snippet %def "%define" b
%define ${1:variable} ${2:value}
endsnippet


snippet %files "File list under %files" b
%files -n ${1:pkg}
%license ${2:COPYING}
%{${3:_prefix}}/${4}

endsnippet


snippet %if "%if %endif" b
%if ${1:condition}
$2
%endif
endsnippet


snippet %ifel "%if %endif" b
%if ${1:condition}
$2
%else
$3
%endif
endsnippet


snippet %ifw "%if %{with var}" b
%if %{with ${1:var}}
$2
%endif
endsnippet


snippet %ifwel "%if %{with var}" b
%if %{with ${1:var}}
$2
%else
$3
%endif
endsnippet


snippet %ifarch "%ifarch %endif" b
%ifarch ${1:arch}
$2
%endif
endsnippet


snippet %ifnarch "%ifnarch %endif" b
%ifnarch ${1:arch}
$2
endsnippet


snippet brq "BuildRequires" b
BuildRequires:  ${1:${VISUAL}}
endsnippet


snippet brqif "BuildRequires" b
BuildRequires:  (${1:} if ${2} ${3:>=} ${4})
endsnippet


snippet brqcmake "BuildRequires: pkgconfig(foo)" b
BuildRequires:  cmake(${1:${VISUAL}})
endsnippet


snippet brqpkg "BuildRequires: pkgconfig(foo)" b
BuildRequires:  pkgconfig(${1:${VISUAL}})
endsnippet


snippet rec "Recommends:" b
Recommends:     ${1:${VISUAL}}
endsnippet


snippet rq "Requires:" b
Requires:       ${1:${VISUAL}} 
endsnippet


snippet rqif "Requires: (A if B)" b
Requires:       (${1:pkgA} if ${2:pkgB})
endsnippet


snippet rqor "Requires: (A or B)" b
Requires:       (${1:pkgA} or ${2:pkgB})
endsnippet


snippet rqpost "Requires(post):" b
Requires(post): ${1:${VISUAL}}
Requires(postun): $1
endsnippet


snippet supp "Supplements: (A and B)" b
Supplements:    (${1:pkgA} and ${2:pkgB})
endsnippet


snippet pkg "Package" b
%package ${1:name}
Summary:        ${2:Package summary (80 characters)}

%description $1
${3:Package description.}

%files $1
%license ${4:COPYING}
%doc ${5:README.md}
%{${6:_prefix}}/${7}

endsnippet


snippet pkgn "Package" b
%package -n ${1:name}
Summary:        ${2:Package summary (80 characters)}

%description -n $1
${3:Package description.}

%files -n $1
%license ${4:COPYING}
%doc ${5:README.md}
%{${6:_prefix}}/${7}

endsnippet


snippet ldpost "ldconfig post(un) scriptlets"
%post ${1:name} -p ${2:/sbin/ldconfig}
%postun $1 -p $2

endsnippet


snippet shlibdev "Shared library package" b
%package -n lib${1:name}${2:<so_version>}
Summary:        ${3:Package summary (80 characters)}

%description -n lib$1$2
${4:Package description.}

%package -n $1-devel
Summary:        ${5:Package summary (80 characters)}
Requires:       lib$1$2 = %{version}

%description -n $1-devel
${6:Package description.}

%post -n lib$1$2 -p /sbin/ldconfig
%postun -n lib$1$2 -p /sbin/ldconfig

%files -n lib$1$2
%license ${7:COPYING}
%{_libdir}/lib$1.so.$2*

%files -n $1-devel
%license $7
%{_libdir}/lib$1.so
%{_includedir}/$8

endsnippet
# vim: ft=snippets ts=2 sw=2 et:

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.