3 %bcond_without static_libs # static library
5 Summary: OSTree - Git for operating system binaries
6 Summary(pl.UTF-8): OSTree - Git dla binariów systemów operacyjnych
12 #Source0Download: https://github.com/ostreedev/ostree/releases
13 Source0: https://github.com/ostreedev/ostree/releases/download/v%{version}/libostree-%{version}.tar.xz
14 # Source0-md5: 343d92730484b0ed7052c51a8393b59e
15 # for non-release checkouts
16 #Source1: https://github.com/GNOME/libglnx/archive/03138641298fd6799f46b16423871f959332bacf/libglnx.tar.gz
17 ## Source1-md5: c7234e0156af5480e9fa8eef85f7d107
18 #Source2: https://github.com/mendsley/bsdiff/archive/1edf9f656850c0c64dae260960fabd8249ea9c60/bsdiff.tar.gz
19 ## Source2-md5: 38464abb5e66b0c8dfbcf94fba6a8004
20 Patch0: grub2-pld.patch
21 URL: https://wiki.gnome.org/OSTree
22 BuildRequires: attr-devel
23 BuildRequires: autoconf >= 2.63
24 BuildRequires: automake >= 1:1.13
25 BuildRequires: avahi-devel >= 0.6.31
26 BuildRequires: avahi-glib-devel >= 0.6.31
28 BuildRequires: curl-devel >= 7.29.0
29 BuildRequires: e2fsprogs-devel
30 BuildRequires: glib2-devel >= 1:2.66.0
31 BuildRequires: gobject-introspection-devel >= 1.51.5
32 BuildRequires: gpgme-devel >= 1.8.0
33 BuildRequires: gtk-doc >= 1.15
34 BuildRequires: libarchive-devel >= 2.8.0
35 BuildRequires: libfuse3-devel >= 3.1.1
36 BuildRequires: libgpg-error-devel
37 BuildRequires: libmount-devel >= 2.23.0
38 BuildRequires: libselinux-devel >= 2.2
39 BuildRequires: libsodium-devel >= 1.0.14
40 # for ostree-trivial-httpd
41 BuildRequires: libsoup3-devel >= 3.0.0
42 BuildRequires: libtool >= 2:2.2.4
43 BuildRequires: libxslt-progs
44 BuildRequires: pkgconfig
45 BuildRequires: rpm-build >= 4.6
46 BuildRequires: rpmbuild(macros) >= 1.644
47 BuildRequires: sed >= 4.0
48 BuildRequires: systemd-devel >= 1:209
49 BuildRequires: tar >= 1:1.22
51 BuildRequires: xz-devel >= 1:5.0.5
52 BuildRequires: zlib-devel
53 Requires: curl-libs >= 7.29.0
54 Requires: glib2 >= 1:2.66.0
55 Requires: gpgme >= 1.8.0
56 Requires: libarchive >= 2.8.0
57 Requires: libfuse3 >= 3.1.1
58 Requires: libmount >= 2.23.0
59 Requires: libselinux >= 2.2
60 Requires: libsodium >= 1.0.14
61 Requires: xz-libs >= 1:5.0.5
62 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
65 OSTree is a tool for managing bootable, immutable, versioned
66 filesystem trees. While it takes over some of the roles of tradtional
67 "package managers" like dpkg and rpm, it is not a package system; nor
68 is it a tool for managing full disk images. Instead, it sits between
69 those levels, offering a blend of the advantages (and disadvantages)
72 %description -l pl.UTF-8
73 OSTree to narzędzie do zarządzania uruchamialnymi, niezmiennymi,
74 wersjonowanymi drzewami systemów plików. O ile przejmuje niektóre
75 funkcje tradycyjnych "zarządców pakietów", takich jak dpkg i rpm, nie
76 jest to system pakietów; nie jest to także narzędzie do zarządzania
77 pełnymi obrazami dysków. Jest to poziom pośredni, oferujący połączenie
81 Summary: Header files for OSTree library
82 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki OSTree
83 Group: Development/Libraries
84 Requires: %{name} = %{version}-%{release}
85 Requires: glib2-devel >= 1:2.66.0
88 Header files for OSTree library.
90 %description devel -l pl.UTF-8
91 Pliki nagłówkowe biblioteki OSTree.
94 Summary: Static OSTree library
95 Summary(pl.UTF-8): Statyczna biblioteka OSTree
96 Group: Development/Libraries
97 Requires: %{name}-devel = %{version}-%{release}
100 Static OSTree library.
102 %description static -l pl.UTF-8
103 Statyczna biblioteka OSTree.
106 Summary: OSTree API documentation
107 Summary(pl.UTF-8): Dokumentacja API biblioteki OSTree
112 OSTree API documentation.
114 %description apidocs -l pl.UTF-8
115 Dokumentacja API biblioteki OSTree.
118 Summary: GRUB2 integration for OSTree
119 Summary(pl.UTF-8): Integracja bootloadera GRUB2 z OSTree
121 Requires: %{name} = %{version}-%{release}
126 GRUB2 integration for OSTree.
128 %description grub2 -l pl.UTF-8
129 Integracja bootloadera GRUB2 z OSTree.
131 %package -n bash-completion-ostree
132 Summary: Bash completion for ostree command
133 Summary(pl.UTF-8): Bashowe uzupełnianie parametrów polecenia ostree
134 Group: Applications/Shells
135 Requires: %{name} = %{version}-%{release}
136 Requires: bash-completion >= 2.0
139 %description -n bash-completion-ostree
140 Bash completion for ostree command.
142 %description -n bash-completion-ostree -l pl.UTF-8
143 Bashowe uzupełnianie parametrów polecenia ostree.
145 %package -n dracut-ostree
146 Summary: OSTree support for Dracut
147 Summary(pl.UTF-8): Obsługa OSTree dla Dracuta
148 Group: Applications/System
149 Requires: %{name} = %{version}-%{release}
152 %description -n dracut-ostree
153 OSTree support for Dracut.
155 %description -n dracut-ostree -l pl.UTF-8
156 Obsługa OSTree dla Dracuta.
159 %setup -q -n libostree-%{version}
162 # for non-release checkouts
163 #rmdir libglnx bsdiff
164 #%{__mv} libglnx-* libglnx
165 #%{__mv} bsdiff-* bsdiff
168 sed -e 's,$(libglnx_srcpath),libglnx,g' < libglnx/Makefile-libglnx.am >libglnx/Makefile-libglnx.am.inc
169 sed -e 's,$(libbsdiff_srcpath),bsdiff,g' < bsdiff/Makefile-bsdiff.am >bsdiff/Makefile-bsdiff.am.inc
174 %{__aclocal} -I buildutil -I libglnx
178 # use curl in libostree to avoid libsoup2/libsoup3 conflicts in clients
182 --disable-silent-rules \
183 %{?with_static_libs:--enable-static} \
186 --with-ed25519-libsodium \
187 --with-html-dir=%{_gtkdocdir} \
189 --with-systemdsystemunitdir=%{systemdunitdir}
193 rm -rf $RPM_BUILD_ROOT
196 DESTDIR=$RPM_BUILD_ROOT
198 # obsoleted by pkg-config
199 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libostree-1.la
202 rm -rf $RPM_BUILD_ROOT
204 %post -p /sbin/ldconfig
205 %postun -p /sbin/ldconfig
208 %defattr(644,root,root,755)
210 %attr(755,root,root) %{_bindir}/ostree
211 %attr(755,root,root) %{_bindir}/rofiles-fuse
212 %attr(755,root,root) %{_libdir}/libostree-1.so.*.*.*
213 %attr(755,root,root) %ghost %{_libdir}/libostree-1.so.1
214 %{_libdir}/girepository-1.0/OSTree-1.0.typelib
216 %{_mandir}/man1/ostree.1*
217 %{_mandir}/man1/ostree-*.1*
218 %{_mandir}/man1/rofiles-fuse.1*
219 %{_mandir}/man5/ostree.repo.5*
220 %{_mandir}/man5/ostree.repo-config.5*
223 %defattr(644,root,root,755)
224 %attr(755,root,root) %{_libdir}/libostree-1.so
225 %{_includedir}/ostree-1
226 %{_datadir}/gir-1.0/OSTree-1.0.gir
227 %{_pkgconfigdir}/ostree-1.pc
229 %if %{with static_libs}
231 %defattr(644,root,root,755)
232 %{_libdir}/libostree-1.a
236 %defattr(644,root,root,755)
240 %defattr(644,root,root,755)
241 /lib/grub.d/15_ostree
242 %attr(755,root,root) %{_libexecdir}/libostree/grub2-15_ostree
244 %files -n bash-completion-ostree
245 %defattr(644,root,root,755)
246 %{bash_compdir}/ostree
248 %files -n dracut-ostree
249 %defattr(644,root,root,755)
250 %dir %{_prefix}/lib/ostree
251 %attr(755,root,root) %{_prefix}/lib/ostree/ostree-prepare-root
252 %attr(755,root,root) %{_prefix}/lib/ostree/ostree-remount
253 %{systemdunitdir}/ostree-boot-complete.service
254 %{systemdunitdir}/ostree-finalize-staged.path
255 %{systemdunitdir}/ostree-finalize-staged.service
256 %{systemdunitdir}/ostree-finalize-staged-hold.service
257 %{systemdunitdir}/ostree-prepare-root.service
258 %{systemdunitdir}/ostree-remount.service
259 %{systemdtmpfilesdir}/ostree-tmpfiles.conf
260 %attr(755,root,root) /lib/systemd/system-generators/ostree-system-generator
261 %dir %{_prefix}/lib/dracut/modules.d/98ostree
262 %attr(755,root,root) %{_prefix}/lib/dracut/modules.d/98ostree/module-setup.sh
263 %config(noreplace) %verify(not md5 mtime size) /etc/dracut.conf.d/ostree.conf