Compare commits

...
Sign in to create a new pull request.

52 commits

Author SHA1 Message Date
Fedora Release Engineering
4dc02dd3e7 Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-16 06:56:05 +00:00
Fedora Release Engineering
89d82cd46b Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-16 19:45:08 +00:00
Fedora Release Engineering
9944d9481c Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 20:33:26 +00:00
Fedora Release Engineering
d52a0112cb Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 14:56:01 +00:00
Miroslav Suchý
f1c4c4aae7 convert license to SPDX
This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4
2024-09-02 10:18:04 +02:00
Fedora Release Engineering
875d3fe56b Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 15:27:05 +00:00
Jonathan Wright
68ebfe7da4 Rebuild to ensure backdoored XZ libs arn't present 2024-03-29 21:40:55 -05:00
Fedora Release Engineering
86884e42fd Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 03:56:23 +00:00
Fedora Release Engineering
e025f12af8 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 05:42:06 +00:00
Fedora Release Engineering
7a218301c7 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 12:29:18 +00:00
Fedora Release Engineering
184cde8380 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 17:47:06 +00:00
Fedora Release Engineering
c3a7e789f0 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 19:21:45 +00:00
Fedora Release Engineering
d274f8c4b9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 17:35:29 +00:00
Fedora Release Engineering
f0eac0f2b4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 12:42:25 +00:00
Fedora Release Engineering
f73ff40a5d - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 18:17:30 +00:00
Tom Stellard
afd0576c92 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-06 20:32:52 +00:00
Fedora Release Engineering
f760386598 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 05:52:40 +00:00
Fedora Release Engineering
0a49df8a68 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 10:44:39 +00:00
Fedora Release Engineering
400cd9eda7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 14:41:43 +00:00
Fedora Release Engineering
34ac695632 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 08:31:15 +00:00
7472e7fabd Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:13 +01:00
6b71b87471
Remove obsolete ldconfig scriptlets
References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-22 18:40:14 +01:00
Fedora Release Engineering
8070f47a1a - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 09:02:01 +00:00
Jason Tibbitts
c5fcf7dd5c Remove needless use of %defattr 2018-07-10 01:48:54 -05:00
Daniel P. Berrangé
2ac2f535cd Update to 0.8.0 release
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-06-08 11:43:29 +01:00
Iryna Shcherbina
f974797646 Update Python 2 dependency declarations to new packaging standards 2018-03-26 22:32:52 +02:00
a884fa5f55
Remove %clean section
None of currently supported distributions need that.
Last one was EL5 which is EOL for a while.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-14 08:17:53 +01:00
221b85da9e Remove BuildRoot definition
None of currently supported distributions need that.
It was needed last for EL5 which is EOL now

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-13 23:44:18 +01:00
Fedora Release Engineering
ffa7f4012c - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-07 23:39:56 +00:00
Fedora Release Engineering
3db3cb989c - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-03 02:29:27 +00:00
Fedora Release Engineering
30188eeb35 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 19:57:06 +00:00
Fedora Release Engineering
dc050fe7b0 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-10 19:40:08 +00:00
Dennis Gilmore
5b06983cb4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-04 04:07:27 +00:00
Daniel P. Berrange
a75db29eed Update to 0.6.0 release 2015-07-01 15:29:35 +01:00
Dennis Gilmore
c703c02f37 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-17 17:32:50 +00:00
8bfa51ef02 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild 2014-08-17 06:41:02 +00:00
Kalev Lember
c8ecb7adf4 Rebuilt for gobject-introspection 1.41.4 2014-07-22 20:00:19 +02:00
Dennis Gilmore
95c6bbed3a - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-07 00:58:18 -05:00
Daniel P. Berrange
b809b166e3 Actually add 0.5.1 to sources file.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2013-11-19 10:54:51 +00:00
Daniel P. Berrange
076511b353 Update to 0.5.1 release
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2013-11-18 17:15:46 +00:00
Daniel P. Berrange
c99826c3cf Add fully versioned dep between libvirt-sandbox & libvirt-sandbox-libs
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2013-10-03 11:35:13 +01:00
Daniel P. Berrange
d00b5087e0 Fix boot with Linux 3.11 kernel
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2013-10-01 16:34:35 +01:00
Daniel P. Berrange
0ccec6dd08 Update to 0.5.0 release 2013-08-01 12:23:24 +01:00
Daniel P. Berrange
9a412068d9 Update to 0.2.1 release 2013-07-09 19:38:20 +01:00
Daniel P. Berrange
c2d0cd28ce Update to 0.2.0 release 2013-05-07 17:28:42 +01:00
Daniel P. Berrange
f339b33456 Update to 0.1.2 release 2013-03-05 13:48:07 +00:00
Daniel P. Berrange
639e0c0793 Add dep on pod2man
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2013-02-22 16:25:46 +00:00
Dennis Gilmore
286ae558ad - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild 2013-02-13 23:27:28 -06:00
Daniel P. Berrange
9d9bc6cec0 Conditionalize dep on libvirt-daemon-qemu
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2013-01-17 16:23:12 +00:00
Daniel P. Berrange
d119dbfba6 Update to 0.1.1 release 2012-12-10 12:10:22 +00:00
Daniel P. Berrange
37907ac554 Update to 0.1.0 release 2012-08-13 18:17:16 +01:00
Dennis Gilmore
0eac09551a - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild 2012-07-19 16:34:22 -05:00
4 changed files with 283 additions and 42 deletions

1
.gitignore vendored
View file

@ -2,3 +2,4 @@
x86_64/
*.src.rpm
.build*.log
*~

View file

@ -1,39 +1,52 @@
# -*- rpm-spec -*-
%define with_introspection 0
%define with_python 0
%define with_qemu 1
%if 0%{?fedora} >= 15
%define with_introspection 1
%endif
%if 0%{?rhel} >= 6
%define with_introspection 1
# RHEL does not provide the 9p.ko kernel module
# nor the virtio-9p KVM backend driver.
%if 0%{?rhel}
%define with_qemu 0
%endif
%define libvirt_version 1.0.2
Name: libvirt-sandbox
Version: 0.0.3
Release: 2%{?dist}%{?extra_release}
Version: 0.8.0
Release: 21%{?dist}
Summary: libvirt application sandbox framework
Group: Development/Tools
License: LGPLv2+
# Automatically converted from old format: LGPLv2+ - review is highly recommended.
License: LicenseRef-Callaway-LGPLv2+
URL: http://libvirt.org/
Source0: ftp://libvirt.org/libvirt/sandbox/%{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: libvirt-gobject-devel >= 0.0.7
%if %{with_introspection}
BuildRequires: make
BuildRequires: libvirt-gobject-devel >= 0.2.1
BuildRequires: gobject-introspection-devel
%endif
BuildRequires: glibc-static
BuildRequires: /usr/bin/pod2man
BuildRequires: intltool
BuildRequires: libselinux-devel
BuildRequires: glib2-devel >= 2.32.0
BuildRequires: xz-devel >= 5.0.0, xz-static
BuildRequires: zlib-devel >= 1.2.0, zlib-static
%if 0%{fedora} > 27
BuildRequires: libtirpc-devel
BuildRequires: rpcgen
%endif
Requires: %{name}-libs = %{version}-%{release}
%package libs
Group: Development/Libraries
Summary: libvirt application sandbox framework libraries
# So we get the full libvirtd daemon, not just client libs
Requires: libvirt >= 0.9.11
%if %{with_qemu}
%ifarch %{ix86} x86_64
Requires: libvirt-daemon-kvm >= %{libvirt_version}
%else
Requires: libvirt-daemon-qemu >= %{libvirt_version}
%endif
%endif
Requires: libvirt-daemon-lxc >= %{libvirt_version}
%package devel
Group: Development/Libraries
Summary: libvirt application sandbox framework development files
Requires: %{name}-libs = %{version}-%{release}
@ -54,13 +67,7 @@ the libvirt sandbox
%build
%if %{with_introspection}
%define introspection_arg --enable-introspection
%else
%define introspection_arg --disable-introspection
%endif
%configure %{introspection_arg}
%configure --enable-introspection
%__make %{?_smp_mflags}
@ -71,23 +78,15 @@ chmod a-x examples/*.py examples/*.pl examples/*.js
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt-sandbox-1.0.a
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt-sandbox-1.0.la
%clean
rm -rf $RPM_BUILD_ROOT
%find_lang %{name}
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%ldconfig_scriptlets libs
%files
%defattr(-,root,root,-)
%{_sysconfdir}/bash_completion.d/virt-sandbox-service-bash-completion.sh
%dir %{_sysconfdir}/libvirt-sandbox/services
%{_bindir}/virt-sandbox
%{_bindir}/virt-sandbox-service
%{_mandir}/man1/virt-sandbox.1*
%{_mandir}/man1/virt-sandbox-service.1*
%files libs
%defattr(-,root,root,-)
%files libs -f %{name}.lang
%doc README COPYING AUTHORS ChangeLog NEWS
%dir %{_sysconfdir}/libvirt-sandbox
%dir %{_sysconfdir}/libvirt-sandbox/scratch
@ -96,12 +95,9 @@ rm -rf $RPM_BUILD_ROOT
%{_libexecdir}/libvirt-sandbox-init-lxc
%{_libexecdir}/libvirt-sandbox-init-qemu
%{_libdir}/libvirt-sandbox-1.0.so.*
%if %{with_introspection}
%{_libdir}/girepository-1.0/LibvirtSandbox-1.0.typelib
%endif
%files devel
%defattr(-,root,root,-)
%doc examples/virt-sandbox.pl
%doc examples/virt-sandbox.py
%doc examples/virt-sandbox.js
@ -112,12 +108,146 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_includedir}/libvirt-sandbox-1.0/libvirt-sandbox
%{_includedir}/libvirt-sandbox-1.0/libvirt-sandbox/libvirt-sandbox.h
%{_includedir}/libvirt-sandbox-1.0/libvirt-sandbox/libvirt-sandbox-*.h
%if %{with_introspection}
%{_datadir}/gir-1.0/LibvirtSandbox-1.0.gir
%endif
%{_datadir}/gtk-doc/html/Libvirt-sandbox
%changelog
* Thu Jul 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Sep 02 2024 Miroslav Suchý <msuchy@redhat.com> - 0.8.0-17
- convert license to SPDX
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat Mar 30 2024 Jonathan Wright <jonathan@almalinux.org> - 0.8.0-15
- Rebuild to ensure backdoored XZ libs arn't present
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Jun 8 2018 Daniel P. Berrangé <berrange@redhat.com> - 0.8.0-1
- Update to 0.8.0 release
* Mon Mar 26 2018 Iryna Shcherbina <ishcherb@redhat.com> - 0.6.0-7
- Update Python 2 dependency declarations to new packaging standards
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jul 1 2015 Daniel P. Berrange <berrange@redhat.com> - 0.6.0-1
- Update to 0.6.0 release
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Tue Jul 22 2014 Kalev Lember <kalevlember@gmail.com> - 0.5.1-3
- Rebuilt for gobject-introspection 1.41.4
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Mon Nov 18 2013 Daniel P. Berrange <berrange@redhat.com> - 0.5.1-1
- Update to 0.5.1 release
* Thu Oct 3 2013 Daniel P. Berrange <berrange@redhat.com> - 0.5.0-3
- Add fully versioned dep between libvirt-sandbox & libvirt-sandbox-libs
* Tue Oct 1 2013 Daniel P. Berrange <berrange@redhat.com> - 0.5.0-2
- Fix boot with Linux 3.11 kernel
* Thu Aug 1 2013 Daniel P. Berrange <berrange@redhat.com> - 0.5.0-1
- Update to 0.5.0 release
* Tue Jul 9 2013 Daniel P. Berrange <berrange@redhat.com> - 0.2.1-1
- Update to 0.2.1 release
* Tue May 7 2013 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-1
- Update to 0.2.0 release
* Tue Mar 5 2013 Daniel P. Berrange <berrange@redhat.com> - 0.1.2-1
- Update to 0.1.2 release
* Fri Feb 22 2013 Daniel P. Berrange <berrange@redhat.com> - 0.1.1-4
- Add dep on pod2man
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Thu Jan 17 2013 Daniel P. Berrange <berrange@redhat.com> - 0.1.1-2
- Conditionalize dep on libvirt-daemon-qemu
* Mon Dec 10 2012 Daniel P. Berrange <berrange@redhat.com> - 0.1.1-1
- Update to 0.1.1 release
* Mon Aug 13 2012 Daniel P. Berrange <berrange@redhat.com> - 0.1.0-1
- Update to 0.1.0 release
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.0.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Fri Apr 27 2012 Daniel P. Berrange <berrange@redhat.com> - 0.0.3-2
- Rebuild for libvirt-gobject update

View file

@ -1 +1 @@
01df5ac5e56c73523b046179048657d6 libvirt-sandbox-0.0.3.tar.gz
SHA512 (libvirt-sandbox-0.8.0.tar.gz) = 633368b6b41c520ae678b850e4c6c96cc3220adcfda9a9a36ad67d50f10b1d18e40a2d92e76a8d99a63e7e24a1f9cf3153eca0acf4745bd48c381289974476d2

110
update-patches.pl Executable file
View file

@ -0,0 +1,110 @@
#!/usr/bin/perl
#
# Update the local patches and RPM spec with patches from
# an upstream tree with matching branch name.
#
# For example
#
# - Checkout upstream GIT repo for libvirt-sandbox
# - Create a branch name matching current RHEL (eg rhel-6.4)
# - Populate the branch by cherry-picking patches from master
#
# This script will then
#
# - Setup the upstream GIT repo as a remote named 'upstream'
# - Extract version number from RPM spec
# - Look for a tag 'v$VERSION' in upstream GIT
# - Run 'git format-patches v$VERSION..upstream/rhel-6.4'
# - Re-write the RPM spec to update all PatchNNN and %patchNNN lines
#
# The only manual step required is to fill in the changelog
#
use strict;
use warnings;
my $gitupstream = "git://libvirt.org/libvirt-sandbox.git";
my $rpmspec = "libvirt-sandbox.spec";
open SPEC, "$rpmspec" or die "cannot read $rpmspec: $!";
my @spec = <SPEC>;
close SPEC;
my $version;
foreach my $line (@spec) {
if ($line =~ /^Version:\s*(\S+)\s*$/) {
$version = $1;
}
}
die "cannot find Version: line in RPM spec"
unless $version;
my $gittag = "v" . $version;
my $gitbranch = $gittag . "-maint";
my $haveupstream;
open GIT, "-|", "git", "remote" or die "cannot run git remote: $!";
while (<GIT>) {
if (/upstream/) {
$haveupstream = 1;
}
}
close GIT;
unless ($haveupstream) {
`git remote add upstream $gitupstream`;
}
`git fetch upstream`;
$haveupstream = 0;
open GIT, "-|", "git", "branch", "-a" or die "cannot find git branch -a: $!";
while (<GIT>) {
if (m,upstream/$gitbranch,) {
$haveupstream = 1;
}
}
close GIT;
die "cannot find upstream/$gitbranch" unless $haveupstream;
`git format-patch --no-signature -N $gittag..upstream/$gitbranch`;
opendir DH, "." or die "cannot read current directory: $!";
my @patches
= grep {
/^\d\d\d.*\.patch/
} readdir(DH);
closedir DH;
@patches = sort @patches;
open SPEC, ">$rpmspec" or die "cannot update $rpmspec: $!";
foreach my $line (@spec) {
print SPEC $line unless $line =~ /(Patch|%patch)/;
my $i;
if ($line =~ /Source0/) {
for ($i = 0 ; $i <= $#patches ; $i++) {
printf SPEC "Patch%d: %s\n", $i+1, $patches[$i];
}
} elsif ($line =~ /%setup/) {
for ($i = 0 ; $i <= $#patches ; $i++) {
printf SPEC "%%patch%d -p1\n", $i+1;
}
}
}
close SPEC or die "cannot save $rpmspec: $!";
`git add *.patch $rpmspec`;