Browse code

rpm-ostree: Update to latest Version 2020.4

Updated following packages:
- Updated ostree to 2020.4
- Updated polkit to latest 0.117
- Updated mozjs to 68.11.0 which is required polkit
- Updated librepo to latest version
- Updated rust to latest version
- Updated libmodulemd to latest version
- Added couple of patches in libsolv required to build
libdnf in ostree source
Deprecated following package:
- mozjs60
- js
- These are replaced by mozjs-68
Updated the list of packages in photon-base.json as minimal

Change-Id: I948ab29a2af3f0fbd6485f893529c750f898bace
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/10764
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Ajay Kaher <akaher@vmware.com>
Reviewed-by: Ankit Jain <ankitja@vmware.com>

Ankit Jain authored on 2020/08/14 23:02:28
Showing 27 changed files
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:	Low-level libraries useful for providing data structure handling for C.
2 2
 Name:		glib
3 3
 Version:	2.58.0
4
-Release:	6%{?dist}
4
+Release:	7%{?dist}
5 5
 License:	LGPLv2+
6 6
 URL:		https://developer.gnome.org/glib/
7 7
 Group:		Applications/System
... ...
@@ -20,6 +20,7 @@ BuildRequires:	python3
20 20
 BuildRequires:	python3-libs
21 21
 BuildRequires:	util-linux-devel
22 22
 BuildRequires:	elfutils-libelf-devel
23
+BuildRequires:	gtk-doc
23 24
 Requires:	elfutils-libelf
24 25
 Requires:	pcre-libs
25 26
 Requires:	libffi
... ...
@@ -55,6 +56,14 @@ Requires:	glib
55 55
 %description schemas
56 56
 Gsettings schemas compiling tool
57 57
 
58
+%package doc
59
+Summary: Documentation for Glib
60
+Requires: %{name} = %{version}-%{release}
61
+BuildArch: noarch
62
+
63
+%description doc
64
+The glib-doc package includes documentation for the GLib library.
65
+
58 66
 %prep
59 67
 %setup -q
60 68
 %patch0 -p1
... ...
@@ -69,7 +78,8 @@ if [ %{_host} != %{_build} ]; then
69 69
 fi
70 70
 %configure \
71 71
     --with-pcre=system \
72
-    --with-sysroot=/target-%{_arch}
72
+    --with-sysroot=/target-%{_arch} \
73
+    --enable-gtk-doc
73 74
 make %{?_smp_mflags}
74 75
 %install
75 76
 make DESTDIR=%{buildroot} install
... ...
@@ -105,7 +115,13 @@ make DESTDIR=%{buildroot} install
105 105
 %{_bindir}/gsettings
106 106
 %{_datadir}/glib-2.0/schemas/*
107 107
 
108
+%files doc
109
+%defattr(-, root, root)
110
+%doc %{_datadir}/gtk-doc/html/*
111
+
108 112
 %changelog
113
+*   Thu Aug 13 2020 Ankit Jain <ankitja@vmware.com> 2.58.0-7
114
+-   Enabled gtk-doc
109 115
 *   Tue Jun 23 2020 Tapas Kundu <tkundu@vmware.com> 2.58.0-6
110 116
 -   Build with python3
111 117
 -   Mass removal python2
... ...
@@ -3,7 +3,7 @@
3 3
 Name:           gobject-introspection
4 4
 Summary:        Introspection system for GObject-based libraries
5 5
 Version:        1.58.0
6
-Release:        3%{?dist}
6
+Release:        4%{?dist}
7 7
 Group:          Development/Libraries
8 8
 License:        GPLv2+, LGPLv2+, MIT
9 9
 URL:            http://live.gnome.org/GObjectIntrospection
... ...
@@ -37,6 +37,7 @@ Summary:        Python3 package for handling GObject introspection data
37 37
 Group:          Development/Languages
38 38
 Requires:       %{name} = %{version}-%{release}
39 39
 Requires:       python3-xml
40
+Requires:       python3-libs
40 41
 Requires:       python3
41 42
 %description -n python3-gobject-introspection
42 43
 This package contains a Python package for handling the introspection
... ...
@@ -105,6 +106,8 @@ make  %{?_smp_mflags} check
105 105
 %doc %{_mandir}/man1/*.gz
106 106
 
107 107
 %changelog
108
+*   Thu Aug 13 2020 Ankit Jain <ankitja@vmware.com> 1.58.0-4
109
+-   Requires python3-libs
108 110
 *   Mon Jun 22 2020 Tapas Kundu <tkundu@vmware.com> 1.58.0-3
109 111
 -   Mass removal python2
110 112
 *   Mon Dec 10 2018 Alexey Makhalov <amakhalov@vmware.com> 1.58.0-2
111 113
deleted file mode 100644
... ...
@@ -1,82 +0,0 @@
1
-Summary:       Mozilla's JavaScript engine.
2
-Name:          js
3
-Version:       1.8.5
4
-Release:       4%{?dist}
5
-Group:         Applications/System
6
-Vendor:        VMware, Inc.
7
-License:       GPLv2+ or LGPLv2+ or MPLv1.1
8
-URL:           https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Releases/1.8.5
9
-Source0:       https://archive.mozilla.org/pub/js/js185-1.0.0.tar.gz
10
-Patch0:        mozjs-aarch64-support.patch
11
-Distribution:  Photon
12
-BuildRequires: autoconf
13
-BuildRequires: ncurses-devel
14
-BuildRequires: nspr-devel >= 4.7
15
-BuildRequires: zip
16
-Requires:      ncurses
17
-Requires:      nspr
18
-%define sha1 js185=52a01449c48d7a117b35f213d3e4263578d846d6
19
-%define ExtraBuildRequires python2 python2-devel python2-libs
20
-%description
21
-Mozilla's JavaScript engine includes a just-in-time compiler (JIT) that compiles
22
-JavaScript to machine code, for a significant speed increase.
23
-
24
-%package devel
25
-Summary:        js devel
26
-Group:          Development/Tools
27
-Requires:       %{name} = %{version}
28
-%description devel
29
-This contains development tools and libraries for SpiderMonkey.
30
-
31
-%prep
32
-%setup -q
33
-%patch0 -p1
34
-
35
-%build
36
-cd js/src
37
-%configure \
38
-    --datadir=%{_datarootdir} \
39
-    --with-system-nspr \
40
-    --enable-threadsafe \
41
-    --enable-readline
42
-make CXX=g++ CXXFLAGS='-std=gnu++98 -DXP_UNIX=1 -DJS_THREADSAFE=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1'
43
-
44
-%install
45
-cd js/src
46
-make DESTDIR=%{buildroot} install
47
-pushd %{buildroot}/%{_libdir}
48
-ln -fs libmozjs185.so.1.0.0 libmozjs185.so.1.0
49
-ln -fs libmozjs185.so.1.0 libmozjs185.so
50
-popd
51
-find %{buildroot} -name '*.la' -delete
52
-
53
-%post
54
-/sbin/ldconfig
55
-
56
-%postun
57
-/sbin/ldconfig
58
-
59
-%files
60
-%defattr(-,root,root)
61
-%{_bindir}/js-config
62
-%{_libdir}/libmozjs185.so.*
63
-
64
-%files devel
65
-%defattr(-,root,root)
66
-%{_includedir}/%{name}/*
67
-%{_libdir}/libmozjs185-1.0.a
68
-%{_libdir}/libmozjs185.so
69
-%{_libdir}/pkgconfig/mozjs185.pc
70
-
71
-%changelog
72
-*   Tue Jun 23 2020 Tapas Kundu <tkundu@vmware.com> 1.8.5-4
73
--   Build with python3
74
--   Mass removal python2
75
-*   Tue Jan 08 2019 Alexey Makhalov <amakhalov@vmware.com> 1.8.5-3
76
--   Added BuildRequires python2
77
-*   Tue Nov 14 2017 Alexey Makhalov <amakhalov@vmware.com> 1.8.5-2
78
--   Aarch64 support
79
-*   Thu Oct 05 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.8.5-1
80
--   mozjs v1.8.5.
81
-*   Fri May 22 2015 Alexey Makhalov <amakhalov@vmware.com> 17.0.0-1
82
--   initial version
83 1
deleted file mode 100644
... ...
@@ -1,52 +0,0 @@
1
-+++ a/js/src/Makefile.in
2
-@@ -382,7 +382,7 @@ CPPSRCS += 	checks.cc \
3
- # END enclude sources for V8 dtoa
4
- #############################################
5
-
6
--ifeq (,$(filter-out powerpc sparc,$(TARGET_CPU)))
7
-+ifeq (,$(filter-out aarch64 powerpc sparc,$(TARGET_CPU)))
8
-
9
- VPATH +=	$(srcdir)/assembler \
10
- 		$(srcdir)/assembler/wtf \
11
-+++ a/js/src/assembler/jit/ExecutableAllocator.h
12
-@@ -391,6 +391,12 @@ public:
13
-     {
14
-         CacheRangeFlush(code, size, CACHE_SYNC_ALL);
15
-     }
16
-+#elif WTF_CPU_AARCH64 && WTF_PLATFORM_LINUX
17
-+    static void cacheFlush(void* code, size_t size)
18
-+    {
19
-+        intptr_t end = reinterpret_cast<intptr_t>(code) + size;
20
-+        __builtin___clear_cache(reinterpret_cast<char*>(code), reinterpret_cast<char*>(end));
21
-+    }
22
- #else
23
-     #error "The cacheFlush support is missing on this platform."
24
- #endif
25
-+++ a/js/src/assembler/wtf/Platform.h
26
-@@ -292,6 +292,10 @@
27
-
28
- #endif /* ARM */
29
-
30
-+/* CPU(AArch64) - 64-bit ARM */
31
-+#if defined(__aarch64__)
32
-+#define WTF_CPU_AARCH64 1
33
-+#endif
34
-
35
-
36
- /* Operating systems - low-level dependencies */
37
-+++ a/js/src/configure.in
38
-@@ -1534,6 +1534,10 @@ arm*)
39
-     CPU_ARCH=arm
40
-     ;;
41
-
42
-+aarch64)
43
-+    CPU_ARCH=aarch64
44
-+    ;;
45
-+
46
- mips|mipsel)
47
-     CPU_ARCH="mips"
48
-     ;;
... ...
@@ -2,19 +2,20 @@
2 2
 
3 3
 Summary:        Module manipulating metadata files
4 4
 Name:           libmodulemd
5
-Version:        2.4.0
6
-Release:        2%{?dist}
5
+Version:        2.9.4
6
+Release:        1%{?dist}
7 7
 License:        MIT
8 8
 URL:            https://github.com/fedora-modularity/libmodulemd
9 9
 Group:          Applications/System
10 10
 Vendor:         VMware, Inc.
11 11
 Distribution:   Photon
12 12
 Source0:        https://github.com/fedora-modularity/libmodulemd/archive/%{name}-%{version}.tar.gz
13
-%define sha1    %{name}-%{version}=b832bdd33e80901f2fa7946ebafdec3ee8e4853f
13
+%define sha1    %{name}-%{version}=b2070336eddf5ce26250c90e824ae5c4bdf4733e
14 14
 BuildRequires:  meson
15 15
 BuildRequires:  clang-devel
16 16
 BuildRequires:  gcc
17
-BuildRequires:  glib
17
+BuildRequires:  glib-devel
18
+BuildRequires:  glib-doc
18 19
 BuildRequires:  valgrind
19 20
 BuildRequires:  gobject-introspection-devel
20 21
 BuildRequires:  python3-pygobject
... ...
@@ -22,6 +23,7 @@ BuildRequires:  python3-pycodestyle
22 22
 BuildRequires:  python3-autopep8
23 23
 BuildRequires:  gtk-doc
24 24
 BuildRequires:  libyaml-devel
25
+BuildRequires:  file-devel
25 26
 Requires:       libyaml
26 27
 
27 28
 %description
... ...
@@ -38,8 +40,8 @@ It contains the libraries and header files.
38 38
 %setup -q -n %{name}-%{name}-%{version}
39 39
 
40 40
 %build
41
-meson -Dprefix=%{_prefix} -Ddeveloper_build=false -Dbuild_api_v1=true -Dbuild_api_v2=false \
42
-       -Dwith_py3_overrides=true -Dwith_py2_overrides=false api1
41
+meson -Dprefix=%{_prefix} -Ddeveloper_build=false -Dwith_py2=false \
42
+      -Dwith_manpages=disabled api1
43 43
 cd api1
44 44
 ninja
45 45
 
... ...
@@ -52,19 +54,21 @@ DESTDIR=%{buildroot}/ ninja install
52 52
 
53 53
 %files
54 54
 %doc README.md
55
-%{_bindir}/modulemd-validator-v1
56
-%{_libdir}/girepository-1.0/Modulemd-1.0.typelib
55
+%{_bindir}/modulemd-validator
56
+%{_libdir}/girepository-1.0/Modulemd-2.0.typelib
57 57
 %{_libdir}/libmodulemd.so.*
58
-%{_datadir}/gir-1.0/Modulemd-1.0.gir
59
-%{_datadir}/gtk-doc/html/modulemd-1.0/*
58
+%{_datadir}/gir-1.0/Modulemd-2.0.gir
59
+%{_datadir}/gtk-doc/html/modulemd-2.0/*
60 60
 %{python3_sitelib}/*
61 61
 
62 62
 %files  devel
63 63
 %{_libdir}/libmodulemd.so
64
-%{_libdir}/pkgconfig/modulemd.pc
65
-%{_includedir}/modulemd/*
64
+%{_libdir}/pkgconfig/*.pc
65
+%{_includedir}/modulemd-2.0/*.h
66 66
 
67 67
 %changelog
68
+*   Thu Aug 13 2020 Ankit Jain <ankitja@vmware.com> 2.9.4-1
69
+-   Updated to 2.9.4
68 70
 *   Thu Oct 24 2019 Ankit Jain <ankitja@vmware.com> 2.4.0-2
69 71
 -   Added for ARM Build
70 72
 *   Wed May 15 2019 Ankit Jain <ankitja@vmware.com> 2.4.0-1
... ...
@@ -3,15 +3,15 @@
3 3
 
4 4
 Summary:        Repodata downloading library
5 5
 Name:           librepo
6
-Version:        1.10.2
7
-Release:        3%{?dist}
6
+Version:        1.12.0
7
+Release:        1%{?dist}
8 8
 License:        LGPLv2+
9 9
 URL:            https://github.com/rpm-software-management/librepo
10 10
 Group:          Applications/System
11 11
 Vendor:         VMware, Inc.
12 12
 Distribution:   Photon
13 13
 Source0:        https://github.com/rpm-software-management/librepo/archive/%{name}-%{version}.tar.gz
14
-%define sha1    %{name}-%{version}=9709bbca874a1afda9dff1c1775a3c68321c7182
14
+%define sha1    %{name}-%{version}=1981d485743337c93d2b098920e5f738bd41fdc9
15 15
 BuildRequires:  cmake
16 16
 BuildRequires:  gcc
17 17
 BuildRequires:  check
... ...
@@ -81,6 +81,8 @@ popd
81 81
 %{_python3_sitearch}/%{name}/
82 82
 
83 83
 %changelog
84
+*   Thu Aug 13 2020 Ankit Jain <ankitja@vmware.com> 1.12.0-1
85
+-   Updated to 1.12.0
84 86
 *   Mon Jun 15 2020 Tapas Kundu <tkundu@vmware.com> 1.10.2-3
85 87
 -   Mass removal python2
86 88
 *   Thu Oct 24 2019 Ankit Jain <ankitja@vmware.com> 1.10.2-2
87 89
new file mode 100644
... ...
@@ -0,0 +1,235 @@
0
+From 321bb2ac1bd4a88addfd2875f467d2e24b8a0005 Mon Sep 17 00:00:00 2001
1
+From: Michael Schroeder <mls@suse.de>
2
+Date: Fri, 5 Oct 2018 14:41:20 +0200
3
+Subject: [PATCH] Add selection_make_matchsolvable and
4
+ selection_make_matchsolvablelist
5
+
6
+This is like pool_whatmatchessolvable, but works on a selection.
7
+The advantage is that it supports filtering.
8
+---
9
+ examples/solv/solv.c |  36 ++---------
10
+ src/libsolv.ver      |   2 +
11
+ src/selection.c      | 149 ++++++++++++++++++++++++++++++++++++++++++-
12
+ src/selection.h      |   6 +-
13
+ 4 files changed, 162 insertions(+), 31 deletions(-)
14
+
15
+diff --git a/src/libsolv.ver b/src/libsolv.ver
16
+index a3fa19a..9f6d324 100644
17
+--- a/src/libsolv.ver
18
+@@ -249,6 +249,8 @@ SOLV_1.0 {
19
+ 		selection_make;
20
+ 		selection_make_matchdepid;
21
+ 		selection_make_matchdeps;
22
++		selection_make_matchsolvable;
23
++		selection_make_matchsolvablelist;
24
+ 		selection_solvables;
25
+ 		solv_bin2hex;
26
+ 		solv_calloc;
27
+diff --git a/src/selection.c b/src/selection.c
28
+index d44c482..22ad3b0 100644
29
+--- a/src/selection.c
30
+@@ -1430,6 +1430,137 @@ matchdep(Pool *pool, Id id, char *rname, int rflags, Id revr, int flags)
31
+   return matchdep_str(rname, pool_id2str(pool, id), flags);
32
+ }
33
+ 
34
++static int
35
++selection_make_matchsolvable_common_limited(Pool *pool, Queue *selection, Queue *solvidq, Id solvid, int flags, int keyname, int marker, struct limiter *limiter)
36
++{
37
++  Id *wp;
38
++  Map m, missc;
39
++  int reloff, boff;
40
++  int li, i, j;
41
++  Id p;
42
++  Queue q;
43
++
44
++  if (solvidq)
45
++    {
46
++      map_init(&m, pool->nsolvables);
47
++      for (i = 0; i < solvidq->count; i++)
48
++	MAPSET(&m, solvidq->elements[i]);
49
++    }
50
++  queue_init(&q);
51
++  reloff = pool->ss.nstrings;
52
++  map_init(&missc, reloff + pool->nrels);
53
++  for (li = limiter->start; li < limiter->end; li++)
54
++    {
55
++      Solvable *s;
56
++      p = limiter->mapper ? limiter->mapper[li] : li;
57
++      if (solvidq && MAPTST(&m, p))
58
++	continue;
59
++      if (!solvidq && p == solvid)
60
++	continue;
61
++      s = pool->solvables + p;
62
++      if (!s->repo || (limiter->repofilter && s->repo != limiter->repofilter))
63
++	continue;
64
++      if (s->arch == ARCH_SRC || s->arch == ARCH_NOSRC)
65
++	{
66
++	  if (!(flags & SELECTION_SOURCE_ONLY) && !(flags & SELECTION_WITH_SOURCE))
67
++	    continue;
68
++	  if (!(flags & SELECTION_WITH_DISABLED) && pool_disabled_solvable(pool, s))
69
++	    continue;
70
++	}
71
++      else
72
++	{
73
++	  if ((flags & SELECTION_SOURCE_ONLY) != 0)
74
++	    continue;
75
++	  if (s->repo != pool->installed)
76
++	    {
77
++	      if (!(flags & SELECTION_WITH_DISABLED) && pool_disabled_solvable(pool, s))
78
++		continue;
79
++	      if (!(flags & SELECTION_WITH_BADARCH) && pool_badarch_solvable(pool, s))
80
++		continue;
81
++	    }
82
++	}
83
++      if (q.count)
84
++	queue_empty(&q);
85
++      repo_lookup_deparray(s->repo, p, keyname, &q, marker);
86
++      if (!q.count)
87
++	continue;
88
++      for (i = 0; i < q.count; i++)
89
++	{
90
++	  Id dep = q.elements[i];
91
++	  boff = ISRELDEP(dep) ? reloff + GETRELID(dep) : dep;
92
++	  if (MAPTST(&missc, boff))
93
++	    continue;
94
++	  if (ISRELDEP(dep))
95
++	    {
96
++	      Reldep *rd = GETRELDEP(pool, dep);
97
++	      if (!ISRELDEP(rd->name) && rd->flags < 8)
98
++		{
99
++		  /* do pre-filtering on the base */
100
++		  if (MAPTST(&missc, rd->name))
101
++		    continue;
102
++		  wp = pool_whatprovides_ptr(pool, rd->name);
103
++		  if (solvidq)
104
++		    {
105
++		      for (wp = pool_whatprovides_ptr(pool, dep); *wp; wp++)
106
++			if (MAPTST(&m, *wp))
107
++			  break;
108
++		    }
109
++		  else
110
++		    {
111
++		      for (wp = pool_whatprovides_ptr(pool, dep); *wp; wp++)
112
++			if (*wp == solvid)
113
++			  break;
114
++		    }
115
++		  if (!*wp)
116
++		    {
117
++		      /* the base does not include solvid, no need to check the complete dep */
118
++		      MAPSET(&missc, rd->name);
119
++		      MAPSET(&missc, boff);
120
++		      continue;
121
++		    }
122
++		}
123
++	    }
124
++	  wp = pool_whatprovides_ptr(pool, dep);
125
++	  if (solvidq)
126
++	    {
127
++	      for (wp = pool_whatprovides_ptr(pool, dep); *wp; wp++)
128
++		if (MAPTST(&m, *wp))
129
++		  break;
130
++	    }
131
++	  else
132
++	    {
133
++	      for (wp = pool_whatprovides_ptr(pool, dep); *wp; wp++)
134
++		if (*wp == solvid)
135
++		  break;
136
++	    }
137
++	  if (*wp)
138
++	    {
139
++	      queue_push(selection, p);
140
++	      break;
141
++	    }
142
++	  MAPSET(&missc, boff);
143
++	}
144
++    }
145
++  queue_free(&q);
146
++  map_free(&missc);
147
++  if (solvidq)
148
++    map_free(&m);
149
++  if (!selection->count)
150
++    return 0;
151
++
152
++  /* convert package list to selection */
153
++  j = selection->count;
154
++  queue_insertn(selection, 0, selection->count, 0);
155
++  for (i = 0; i < selection->count; )
156
++    {
157
++      selection->elements[i++] = SOLVER_SOLVABLE | SOLVER_NOAUTOSET;
158
++      selection->elements[i++] = selection->elements[j++];
159
++    }
160
++  if ((flags & SELECTION_FLAT) != 0)
161
++    selection_flatten(pool, selection);
162
++  return SELECTION_PROVIDES;
163
++}
164
++
165
+ static int
166
+ selection_make_matchdeps_common_limited(Pool *pool, Queue *selection, const char *name, Id dep, int flags, int keyname, int marker, struct limiter *limiter)
167
+ {
168
+@@ -1449,6 +1580,9 @@ selection_make_matchdeps_common_limited(Pool *pool, Queue *selection, const char
169
+   if (name && dep)
170
+     return 0;
171
+ 
172
++  if ((flags & SELECTION_MATCH_SOLVABLE) != 0)
173
++    return selection_make_matchsolvable_common_limited(pool, selection, (Queue *)name, dep, flags, keyname, marker, limiter);
174
++
175
+   if ((flags & SELECTION_MATCH_DEPSTR) != 0)
176
+     flags &= ~SELECTION_REL;
177
+ 
178
+@@ -1558,7 +1692,8 @@ selection_make_matchdeps_common_limited(Pool *pool, Queue *selection, const char
179
+ 	  queue_push(selection, p);
180
+ 	  continue;
181
+ 	}
182
+-      queue_empty(&q);
183
++      if (q.count)
184
++        queue_empty(&q);
185
+       repo_lookup_deparray(s->repo, p, keyname, &q, marker);
186
+       if (!q.count)
187
+ 	continue;
188
+@@ -1708,6 +1843,18 @@ selection_make_matchdepid(Pool *pool, Queue *selection, Id dep, int flags, int k
189
+   return selection_make_matchdeps_common(pool, selection, 0, dep, flags, keyname, marker);
190
+ }
191
+ 
192
++int
193
++selection_make_matchsolvable(Pool *pool, Queue *selection, Id solvid, int flags, int keyname, int marker)
194
++{
195
++  return selection_make_matchdeps_common(pool, selection, 0, solvid, flags | SELECTION_MATCH_SOLVABLE, keyname, marker);
196
++}
197
++
198
++int
199
++selection_make_matchsolvablelist(Pool *pool, Queue *selection, Queue *solvidq, int flags, int keyname, int marker)
200
++{
201
++  return selection_make_matchdeps_common(pool, selection, (const char *)solvidq, 0, flags | SELECTION_MATCH_SOLVABLE, keyname, marker);
202
++}
203
++
204
+ static inline int
205
+ pool_is_kind(Pool *pool, Id name, Id kind)
206
+ {
207
+diff --git a/src/selection.h b/src/selection.h
208
+index 9938c2f..f3ed2c2 100644
209
+--- a/src/selection.h
210
+@@ -52,16 +52,20 @@ extern "C" {
211
+ #define SELECTION_SUBTRACT		(2 << 28)
212
+ #define SELECTION_FILTER		(3 << 28)
213
+ 
214
+-#define SELECTION_MODEBITS		(3 << 28)	/* internal */
215
+ 
216
+ /* extra SELECTION_FILTER bits */
217
+ #define SELECTION_FILTER_KEEP_IFEMPTY	(1 << 30)
218
+ #define SELECTION_FILTER_SWAPPED	(1 << 31)
219
+ 
220
++/* internal */
221
++#define SELECTION_MATCH_SOLVABLE	(1 << 27)
222
++#define SELECTION_MODEBITS		(3 << 28)
223
+ 
224
+ extern int  selection_make(Pool *pool, Queue *selection, const char *name, int flags);
225
+ extern int  selection_make_matchdeps(Pool *pool, Queue *selection, const char *name, int flags, int keyname, int marker);
226
+ extern int  selection_make_matchdepid(Pool *pool, Queue *selection, Id dep, int flags, int keyname, int marker);
227
++extern int selection_make_matchsolvable(Pool *pool, Queue *selection, Id solvid, int flags, int keyname, int marker);
228
++extern int selection_make_matchsolvablelist(Pool *pool, Queue *selection, Queue *solvidq, int flags, int keyname, int marker);
229
+ 
230
+ extern void selection_filter(Pool *pool, Queue *sel1, Queue *sel2);
231
+ extern void selection_add(Pool *pool, Queue *sel1, Queue *sel2);
0 232
new file mode 100644
... ...
@@ -0,0 +1,105 @@
0
+From aac9f0c2d791fa96bc9423231050f9e18fb973d6 Mon Sep 17 00:00:00 2001
1
+From: Jaroslav Mracek <jmracek@redhat.com>
2
+Date: Thu, 17 Jan 2019 12:48:05 +0100
3
+Subject: [PATCH] Add support for modular updateinfo.xml data
4
+
5
+Module advisory data can specify which advisory is applicable for which
6
+modular stream. Module information can be absent or there could be
7
+multiple entries.
8
+
9
+If there is a module entry in advisory and none of modules in advisory
10
+is enabled on the system, advisory is not relevant for the system and
11
+should be ignored.
12
+---
13
+ ext/repo_updateinfoxml.c | 37 +++++++++++++++++++++++++++++++++++++
14
+ src/knownid.h            |  8 ++++++++
15
+ 2 files changed, 45 insertions(+)
16
+
17
+diff --git a/ext/repo_updateinfoxml.c b/ext/repo_updateinfoxml.c
18
+index 7ba0062..5e03105 100644
19
+--- a/ext/repo_updateinfoxml.c
20
+@@ -37,6 +37,7 @@
21
+  *     <pkglist>
22
+  *       <collection short="F8">
23
+  *         <name>Fedora 8</name>
24
++ *         <module name="pki-deps" stream="10.6" version="20181019123559" context="9edba152" arch="x86_64"/>
25
+  *         <package arch="ppc64" name="imlib-debuginfo" release="6.fc8" src="http://download.fedoraproject.org/pub/fedora/linux/updates/8/ppc64/imlib-debuginfo-1.9.15-6.fc8.ppc64.rpm" version="1.9.15">
26
+  *           <filename>imlib-debuginfo-1.9.15-6.fc8.ppc64.rpm</filename>
27
+  *           <reboot_suggested>True</reboot_suggested>
28
+@@ -70,6 +71,7 @@ enum state {
29
+   STATE_RELOGIN,
30
+   STATE_RIGHTS,
31
+   STATE_SEVERITY,
32
++  STATE_MODULE,
33
+   NUMSTATES
34
+ };
35
+ 
36
+@@ -92,6 +94,7 @@ static struct solv_xmlparser_element stateswitches[] = {
37
+   { STATE_PKGLIST,     "collection",      STATE_COLLECTION,  0 },
38
+   { STATE_COLLECTION,  "name",            STATE_NAME,        1 },
39
+   { STATE_COLLECTION,  "package",         STATE_PACKAGE,     0 },
40
++  { STATE_COLLECTION,  "module",          STATE_MODULE,      0 },
41
+   { STATE_PACKAGE,     "filename",        STATE_FILENAME,    1 },
42
+   { STATE_PACKAGE,     "reboot_suggested",STATE_REBOOT,      1 },
43
+   { STATE_PACKAGE,     "restart_suggested",STATE_RESTART,    1 },
44
+@@ -321,6 +324,40 @@ startElement(struct solv_xmlparser *xmlp, int state, const char *name, const cha
45
+ 	  repodata_set_id(pd->data, pd->collhandle, UPDATE_COLLECTION_ARCH, a);
46
+         break;
47
+       }
48
++    case STATE_MODULE:
49
++      {
50
++        const char *name = 0, *stream = 0, *version = 0, *context = 0, *arch = 0;
51
++        Id name_id, stream_id, version_id, context_id, arch_id = 0;
52
++        for (; *atts; atts += 2)
53
++          {
54
++            if (!strcmp(*atts, "arch"))
55
++              arch = atts[1];
56
++            else if (!strcmp(*atts, "name"))
57
++              name = atts[1];
58
++            else if (!strcmp(*atts, "stream"))
59
++              stream = atts[1];
60
++            else if (!strcmp(*atts, "version"))
61
++              version = atts[1];
62
++            else if (!strcmp(*atts, "context"))
63
++              context = atts[1];
64
++          }
65
++        name_id = pool_str2id(pool, name, 1);
66
++        if (arch)
67
++          arch_id = pool_str2id(pool, arch, 1);
68
++        stream_id = pool_str2id(pool, stream, 1);
69
++        version_id = pool_str2id(pool, version, 1);
70
++        context_id = pool_str2id(pool, context, 1);
71
++
72
++        Id module_handle = repodata_new_handle(pd->data);
73
++        repodata_set_id(pd->data, module_handle, UPDATE_MODULE_NAME, name_id);
74
++        repodata_set_id(pd->data, module_handle, UPDATE_MODULE_STREAM, stream_id);
75
++        repodata_set_id(pd->data, module_handle, UPDATE_MODULE_VERSION, version_id);
76
++        repodata_set_id(pd->data, module_handle, UPDATE_MODULE_CONTEXT, context_id);
77
++        if (arch_id)
78
++          repodata_set_id(pd->data, module_handle, UPDATE_MODULE_ARCH, arch_id);
79
++        repodata_add_flexarray(pd->data, pd->handle, UPDATE_MODULE, module_handle);
80
++        break;
81
++      }
82
+ 
83
+     default:
84
+       break;
85
+diff --git a/src/knownid.h b/src/knownid.h
86
+index 64cc6fc..14d2ded 100644
87
+--- a/src/knownid.h
88
+@@ -262,6 +262,14 @@ KNOWNID(SOLVABLE_INSTALLSTATUS,		"solvable:installstatus"),	/* debian install st
89
+ 
90
+ KNOWNID(SOLVABLE_PREREQ_IGNOREINST,	"solvable:prereq_ignoreinst"),	/* ignore these pre-requires for installed packages */
91
+ 
92
++/* 'content' of patch, usually list of modules */
93
++KNOWNID(UPDATE_MODULE,                  "update:module"),              /*  "name stream version context arch" */
94
++KNOWNID(UPDATE_MODULE_NAME,             "update:module:name"),         /*   name */
95
++KNOWNID(UPDATE_MODULE_STREAM,           "update:module:stream"),       /*   stream */
96
++KNOWNID(UPDATE_MODULE_VERSION,          "update:module:version"),      /*   version */
97
++KNOWNID(UPDATE_MODULE_CONTEXT,          "update:module:context"),      /*   context */
98
++KNOWNID(UPDATE_MODULE_ARCH,             "update:module:arch"),         /*   architecture */
99
++
100
+ KNOWNID(ID_NUM_INTERNAL,		0)
101
+ 
102
+ #ifdef KNOWNID_INITIALIZE
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        A free package dependency solver
2 2
 Name:           libsolv
3 3
 Version:        0.6.35
4
-Release:        3%{?dist}
4
+Release:        4%{?dist}
5 5
 License:        BSD
6 6
 URL:            https://github.com/openSUSE/libsolv
7 7
 Source0:        https://github.com/openSUSE/libsolv/archive/%{name}-%{version}.tar.gz
... ...
@@ -9,6 +9,9 @@ Source0:        https://github.com/openSUSE/libsolv/archive/%{name}-%{version}.t
9 9
 Patch0:         libsolv-xmlparser.patch
10 10
 Patch1:         libsolv-rpm4-IndexOoB-fix.patch
11 11
 Patch2:         CVE-2019-20387.patch
12
+# These 2 patches are required to build libdnf latest version in rpm-ostree
13
+Patch3:         libsolv-Add-support-for-modular.patch
14
+Patch4:         libsolv-Add-selection_make-support.patch
12 15
 Group:          Development/Tools
13 16
 Vendor:         VMware, Inc.
14 17
 Distribution:   Photon
... ...
@@ -37,6 +40,8 @@ for developing applications that use libsolv.
37 37
 %patch0 -p1
38 38
 %patch1 -p1
39 39
 %patch2 -p1
40
+%patch3 -p1
41
+%patch4 -p1
40 42
 %build
41 43
 cmake \
42 44
     -DCMAKE_INSTALL_PREFIX=%{_prefix} \
... ...
@@ -69,6 +74,8 @@ make %{?_smp_mflags} test
69 69
 %{_mandir}/man3/*
70 70
 
71 71
 %changelog
72
+*   Fri Aug 14 2020 Ankit Jain <ankitja@vmware.com> 0.6.35-4
73
+-   Added 2 patches required to build libdnf latest version in rpm-ostree
72 74
 *   Tue Feb 25 2020 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 0.6.35-3
73 75
 -   provides pkgconfig(libsolvext).
74 76
 *   Mon Feb 03 2020 Keerthana K <keerthanak@vmware.com> 0.6.35-2
... ...
@@ -4,11 +4,12 @@ Name:           meson
4 4
 Summary:        Extremely fast and user friendly build system
5 5
 Group:          Development/Tools
6 6
 Version:        0.55.1
7
-Release:        1%{?dist}
7
+Release:        2%{?dist}
8 8
 License:        ASL 2.0
9 9
 URL:            https://mesonbuild.com/
10 10
 Vendor:         VMware, Inc.
11 11
 Distribution:   Photon
12
+Group:          Applications/System
12 13
 Source0:        https://github.com/mesonbuild/meson/archive/%{version}/%{name}-%{version}.tar.gz
13 14
 %define sha1    meson=86ad59c6881924bda0064000e902ac09c23e9047
14 15
 BuildArch:      noarch
... ...
@@ -23,6 +24,7 @@ BuildRequires:  gettext
23 23
 Requires:       ninja-build
24 24
 Requires:       python3
25 25
 Requires:       python3-setuptools
26
+Requires:       python3-gobject-introspection
26 27
 
27 28
 %description
28 29
 Meson is an open source build system meant to be both extremely fast,
... ...
@@ -58,6 +60,8 @@ python3 ./run_tests.py
58 58
 %{_datadir}/polkit-1/actions/com.mesonbuild.install.policy
59 59
 
60 60
 %changelog
61
+*   Sat Aug 22 2020 Ankit Jain <ankitja@vmware.com> 0.55.1-2
62
+-   Added python3-gobject-introspection requires
61 63
 *   Wed Aug 19 2020 Gerrit Photon <photon-checkins@vmware.com> 0.55.1-1
62 64
 -   Automatic Version Bump
63 65
 *   Wed Aug 12 2020 Susant Sahani <ssahani@vmware.com> 0.55.0-1
64 66
new file mode 100644
... ...
@@ -0,0 +1,72 @@
0
+Description: Remove unused LLVM and Rust build dependencies
1
+ Since the Javascript engine is normally part of Firefox, its build
2
+ system has dependencies on the LLVM and Rust toolchains. This limits
3
+ the number of architectures which mozjs68 can be built on.
4
+ .
5
+ It turns out, however, that neither LLVM nor Rust are used when mozjs68
6
+ is being built and these build dependencies are therefore not necessary.
7
+ .
8
+ This patch removes them and allows mozjs68 to be built on any architecture.
9
+ .
10
+Author: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
11
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=959144
12
+Forwarded: no
13
+Last-Update: 2020-04-30
14
+
15
+Index: mozjs68-68.6.0/js/moz.configure
16
+===================================================================
17
+--- mozjs68-68.6.0.orig/js/moz.configure
18
+@@ -18,11 +18,6 @@ def building_js(build_project):
19
+ option(env='JS_STANDALONE', default=building_js,
20
+        help='Reserved for internal use')
21
+
22
+-include('../build/moz.configure/rust.configure',
23
+-        when='--enable-compile-environment')
24
+-include('../build/moz.configure/bindgen.configure',
25
+-        when='--enable-compile-environment')
26
+-
27
+ @depends('JS_STANDALONE')
28
+ def js_standalone(value):
29
+     if value:
30
+Index: mozjs68-68.6.0/moz.configure
31
+===================================================================
32
+--- mozjs68-68.6.0.orig/moz.configure
33
+@@ -598,36 +598,6 @@ set_config('MAKENSISU_FLAGS', nsis_flags
34
+
35
+ check_prog('7Z', ('7z', '7za'), allow_missing=True, when=target_is_windows)
36
+
37
+-
38
+-@depends(host_c_compiler, c_compiler, bindgen_config_paths)
39
+-def llvm_objdump(host_c_compiler, c_compiler, bindgen_config_paths):
40
+-    clang = None
41
+-    for compiler in (host_c_compiler, c_compiler):
42
+-        if compiler and compiler.type == 'clang':
43
+-            clang = compiler.compiler
44
+-            break
45
+-        elif compiler and compiler.type == 'clang-cl':
46
+-            clang = os.path.join(os.path.dirname(compiler.compiler), 'clang')
47
+-            break
48
+-
49
+-    if not clang and bindgen_config_paths:
50
+-        clang = bindgen_config_paths.clang_path
51
+-    llvm_objdump = 'llvm-objdump'
52
+-    if clang:
53
+-        out = check_cmd_output(clang, '--print-prog-name=llvm-objdump',
54
+-                               onerror=lambda: None)
55
+-        if out:
56
+-            llvm_objdump = out.rstrip()
57
+-    return (llvm_objdump,)
58
+-
59
+-
60
+-llvm_objdump = check_prog('LLVM_OBJDUMP', llvm_objdump, what='llvm-objdump',
61
+-                          when='--enable-compile-environment',
62
+-                          paths=toolchain_search_path)
63
+-
64
+-add_old_configure_assignment('LLVM_OBJDUMP', llvm_objdump)
65
+-
66
+-
67
+ # Please do not add configure checks from here on.
68
+
69
+ # Fallthrough to autoconf-based configure
0 70
new file mode 100644
... ...
@@ -0,0 +1,14 @@
0
+--- a/python/mozbuild/mozbuild/frontend/emitter.py
1
+@@ -1195,11 +1195,6 @@ class TreeMetadataEmitter(LoggingMixin):
2
+                     raise SandboxValidationError('Path specified in LOCAL_INCLUDES '
3
+                         'is a filename, but a directory is required: %s '
4
+                         '(resolved to %s)' % (local_include, full_path), context)
5
+-            if (full_path == context.config.topsrcdir or
6
+-                    full_path == context.config.topobjdir):
7
+-                raise SandboxValidationError('Path specified in LOCAL_INCLUDES '
8
+-                    '(%s) resolves to the topsrcdir or topobjdir (%s), which is '
9
+-                    'not allowed' % (local_include, full_path), context)
10
+             include_obj = LocalInclude(context, local_include)
11
+             local_includes.append(include_obj.path.full_path)
12
+             yield include_obj
0 13
new file mode 100644
... ...
@@ -0,0 +1,27 @@
0
+--- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py
1
+@@ -1051,24 +1051,6 @@
2
+
3
+         self.assertEqual(local_includes, expected)
4
+
5
+-    def test_local_includes_invalid(self):
6
+-        """Test that invalid LOCAL_INCLUDES are properly detected."""
7
+-        reader = self.reader('local_includes-invalid/srcdir')
8
+-
9
+-        with self.assertRaisesRegexp(
10
+-                SandboxValidationError,
11
+-                'Path specified in LOCAL_INCLUDES.*resolves to the '
12
+-                'topsrcdir or topobjdir'):
13
+-            objs = self.read_topsrcdir(reader)
14
+-
15
+-        reader = self.reader('local_includes-invalid/objdir')
16
+-
17
+-        with self.assertRaisesRegexp(
18
+-                SandboxValidationError,
19
+-                'Path specified in LOCAL_INCLUDES.*resolves to the '
20
+-                'topsrcdir or topobjdir'):
21
+-            objs = self.read_topsrcdir(reader)
22
+-
23
+     def test_local_includes_file(self):
24
+         """Test that a filename can't be used in LOCAL_INCLUDES."""
25
+         reader = self.reader('local_includes-filename')
0 26
new file mode 100644
... ...
@@ -0,0 +1,13 @@
0
+--- a/python/mozbuild/mozbuild/configure/__init__.py
1
+@@ -473,8 +473,8 @@
2
+             msg = 'Unknown option: %s' % without_value
3
+             if self._help:
4
+                 self._logger.warning(msg)
5
+-            else:
6
+-                raise InvalidOptionError(msg)
7
++            #else:
8
++            #    raise InvalidOptionError(msg)
9
+
10
+         # Run the execution queue
11
+         for func, args in self._execution_queue:
0 12
new file mode 100644
... ...
@@ -0,0 +1,95 @@
0
+%{!?python3_sitelib: %define python3_sitelib %(python3 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
1
+
2
+%global	major 68
3
+Summary:       Mozilla's JavaScript engine.
4
+Name:          mozjs
5
+Version:       68.11.0
6
+Release:       1%{?dist}
7
+Group:         Applications/System
8
+Vendor:        VMware, Inc.
9
+License:       GPLv2+ or LGPLv2+ or MPL-2.0
10
+URL:           https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
11
+Source0:       https://ftp.mozilla.org/pub/firefox/releases/%{version}esr/source/firefox-%{version}esr.source.tar.xz
12
+%define sha1   firefox-%{version}=445acbf7b7b8f75374ee6347bb6f45748511bcf9
13
+Patch0:        emitter.patch
14
+Patch1:        emitter_test.patch
15
+# Build fixes
16
+Patch2:        init_patch.patch
17
+Patch3:        spidermonkey_checks_disable.patch
18
+Patch4:        Remove-unused-LLVM-and-Rust-build-dependencies.patch
19
+Distribution:  Photon
20
+BuildRequires: which
21
+BuildRequires: autoconf213
22
+BuildRequires: python3
23
+BuildRequires: python3-xml
24
+BuildRequires: python3-libs
25
+BuildRequires: python3-devel
26
+BuildRequires: zlib-devel
27
+BuildRequires: clang-devel
28
+Requires:      python3
29
+Requires:      python3-libs
30
+Obsoletes:     mozjs60
31
+%define ExtraBuildRequires python2 python2-libs python2-devel python-xml
32
+
33
+%description
34
+Mozilla's JavaScript engine includes a just-in-time compiler (JIT) that compiles
35
+JavaScript to machine code, for a significant speed increase.
36
+
37
+%package devel
38
+Summary:        mozjs devel
39
+Group:          Development/Tools
40
+Requires:       %{name} = %{version}-%{release}
41
+%description devel
42
+This contains development tools and libraries for SpiderMonkey.
43
+
44
+%prep
45
+%setup -q -n firefox-%{version}
46
+%patch0 -p1
47
+%patch1 -p1
48
+%patch2 -p1
49
+%patch3 -p1
50
+%patch4 -p1
51
+rm -rf modules/zlib
52
+rm -rf security
53
+
54
+%build
55
+cd js/src
56
+sh configure \
57
+    --prefix=%{_prefix} \
58
+    --without-system-icu \
59
+    --enable-readline \
60
+    --disable-jemalloc \
61
+    --disable-tests \
62
+    --with-system-zlib
63
+make %{?_smp_mflags}
64
+
65
+%install
66
+cd js/src
67
+make DESTDIR=%{buildroot} install
68
+chmod -x %{buildroot}%{_libdir}/pkgconfig/*.pc
69
+# remove non required files
70
+rm %{buildroot}%{_libdir}/libjs_static.ajs
71
+rm -rf %{buildroot}%{_libdir}/debug
72
+rm -rf %{buildroot}/usr/src
73
+find %{buildroot} -name '*.la' -delete
74
+
75
+%post
76
+/sbin/ldconfig
77
+
78
+%postun
79
+/sbin/ldconfig
80
+
81
+%files
82
+%defattr(-,root,root)
83
+%{_bindir}/js%{major}
84
+%{_bindir}/js%{major}-config
85
+%{_libdir}/libmozjs-%{major}.so
86
+
87
+%files devel
88
+%defattr(-,root,root)
89
+%{_includedir}/mozjs-%{major}
90
+%{_libdir}/pkgconfig/mozjs-%{major}.pc
91
+
92
+%changelog
93
+*   Sat Oct 26 2019 Ankit Jain <ankitja@vmware.com> 68.11.0-1
94
+-   initial version
0 95
new file mode 100644
... ...
@@ -0,0 +1,10 @@
0
+--- a/config/run_spidermonkey_checks.py
1
+@@ -11,5 +11,5 @@
2
+     for script in scripts:
3
+         retcode = subprocess.call(
4
+             [sys.executable, script], cwd=buildconfig.topsrcdir)
5
+-        if retcode != 0:
6
+-            raise Exception(script + " failed")
7
++        #if retcode != 0:
8
++        #    raise Exception(script + " failed")
0 9
deleted file mode 100644
... ...
@@ -1,15 +0,0 @@
1
-+++ b/python/mozbuild/mozbuild/frontend/emitter.py
2
-@@ -1127,11 +1127,6 @@
3
-                 raise SandboxValidationError('Path specified in LOCAL_INCLUDES '
4
-                     'does not exist: %s (resolved to %s)' % (local_include,
5
-                     full_path), context)
6
--            if (full_path == context.config.topsrcdir or
7
--                    full_path == context.config.topobjdir):
8
--                raise SandboxValidationError('Path specified in LOCAL_INCLUDES '
9
--                    'is not allowed: %s (resolved to %s)' % (local_include,
10
--                    full_path), context)
11
-             include_obj = LocalInclude(context, local_include)
12
-             local_includes.append(include_obj.path.full_path)
13
-             yield include_obj
14
-
15 1
deleted file mode 100644
... ...
@@ -1,76 +0,0 @@
1
-%{!?python2_sitelib: %define python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
2
-
3
-%global	major 60
4
-Summary:       Mozilla's JavaScript engine.
5
-Name:          mozjs%{major}
6
-Version:       60.9.0
7
-Release:       1%{?dist}
8
-Group:         Applications/System
9
-Vendor:        VMware, Inc.
10
-License:       GPLv2+ or LGPLv2+ or MPL-2.0
11
-URL:           https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
12
-Source0:       https://ftp.mozilla.org/pub/firefox/releases/%{version}esr/source/firefox-%{version}esr.source.tar.xz
13
-Patch0:        emitter.patch
14
-Distribution:  Photon
15
-BuildRequires: which
16
-BuildRequires: autoconf213
17
-BuildRequires: zlib-devel
18
-%define sha1 firefox-%{version}=616f8afdee741f0bea607a671b8515ef13c68b4a
19
-%define ExtraBuildRequires python2 python2-libs python2-devel python-xml
20
-%description
21
-Mozilla's JavaScript engine includes a just-in-time compiler (JIT) that compiles
22
-JavaScript to machine code, for a significant speed increase.
23
-
24
-%package devel
25
-Summary:        mozjs devel
26
-Group:          Development/Tools
27
-Requires:       %{name} = %{version}-%{release}
28
-%description devel
29
-This contains development tools and libraries for SpiderMonkey.
30
-
31
-%prep
32
-%setup -q -n firefox-%{version}
33
-%patch0 -p1
34
-rm -rf modules/zlib
35
-rm -rf security
36
-
37
-%build
38
-cd js/src
39
-sh configure \
40
-    --prefix=%{_prefix} \
41
-    --without-system-icu \
42
-    --enable-readline \
43
-    --disable-jemalloc \
44
-    --with-system-zlib
45
-make
46
-
47
-%install
48
-cd js/src
49
-make DESTDIR=%{buildroot} install
50
-chmod -x %{buildroot}%{_libdir}/pkgconfig/*.pc
51
-# remove non required files
52
-rm %{buildroot}%{_libdir}/libjs_static.ajs
53
-rm -rf %{buildroot}%{_libdir}/debug
54
-rm -rf %{buildroot}/usr/src
55
-find %{buildroot} -name '*.la' -delete
56
-
57
-%post
58
-/sbin/ldconfig
59
-
60
-%postun
61
-/sbin/ldconfig
62
-
63
-%files
64
-%defattr(-,root,root)
65
-%{_bindir}/js%{major}
66
-%{_bindir}/js%{major}-config
67
-%{_libdir}/libmozjs-%{major}.so
68
-
69
-%files devel
70
-%defattr(-,root,root)
71
-%{_includedir}/mozjs-%{major}
72
-%{_libdir}/pkgconfig/mozjs-%{major}.pc
73
-
74
-%changelog
75
-*   Sat Oct 26 2019 Ankit Jain <ankitja@vmware.com> 60.9.0-1
76
--   initial version
... ...
@@ -14,30 +14,29 @@ Signed-off-by: Ankit Jain <ankitja@vmware.com>
14 14
  mode change 100644 => 100755 src/libostree/ostree-sysroot-deploy.c
15 15
 
16 16
 diff --git a/src/libostree/ostree-sysroot-deploy.c b/src/libostree/ostree-sysroot-deploy.c
17
-old mode 100644
18
-new mode 100755
19
-index 3ca6c14..0744d7e
17
+index cb59302..8544d3a 100644
20 18
 --- a/src/libostree/ostree-sysroot-deploy.c
21 19
 +++ b/src/libostree/ostree-sysroot-deploy.c
22
-@@ -876,12 +876,17 @@ ostree_sysroot_write_origin_file (OstreeSysroot         *sysroot,
20
+@@ -992,6 +992,7 @@ ostree_sysroot_write_origin_file (OstreeSysroot         *sysroot,
23 21
  
24 22
  typedef struct {
25 23
    int   boot_dfd;
26 24
 +  int   ostree_boot_dfd;
27 25
    char *kernel_srcpath;
28 26
    char *kernel_namever;
27
+   char *kernel_hmac_srcpath;
28
+@@ -999,6 +1000,10 @@ typedef struct {
29 29
    char *initramfs_srcpath;
30 30
    char *initramfs_namever;
31 31
    char *devicetree_srcpath;
32
-   char *devicetree_namever;
33 32
 +  char *systemdcfg_srcpath;
34 33
 +  char *systemdcfg_namever;
35 34
 +  char *kernelcfg_srcpath;
36 35
 +  char *kernelcfg_namever;
36
+   char *devicetree_namever;
37 37
    char *bootcsum;
38 38
  } OstreeKernelLayout;
39
- static void
40
-@@ -894,6 +899,10 @@ _ostree_kernel_layout_free (OstreeKernelLayout *layout)
39
+@@ -1014,6 +1019,10 @@ _ostree_kernel_layout_free (OstreeKernelLayout *layout)
41 40
    g_free (layout->initramfs_namever);
42 41
    g_free (layout->devicetree_srcpath);
43 42
    g_free (layout->devicetree_namever);
... ...
@@ -48,13 +47,13 @@ index 3ca6c14..0744d7e
48 48
    g_free (layout->bootcsum);
49 49
    g_free (layout);
50 50
  }
51
-@@ -1031,6 +1040,25 @@ get_kernel_from_tree_usrlib_modules (int                  deployment_dfd,
51
+@@ -1182,6 +1191,26 @@ get_kernel_from_tree_usrlib_modules (int                  deployment_dfd,
52
+       ret_layout->kernel_hmac_namever = g_strdup_printf (".%s.hmac", ret_layout->kernel_namever);
53
+     }
52 54
  
53
-   g_clear_object (&in);
54
-   glnx_close_fd (&fd);
55 55
 +/* Setting the param for Copying Photon Specific config files to sutiable location */
56 56
 +  if (!glnx_opendirat (deployment_dfd, "usr/lib/ostree-boot", FALSE, &ret_layout->ostree_boot_dfd, error))
57
-+	return FALSE;
57
++       return FALSE;
58 58
 +  if (!ot_openat_ignore_enoent (ret_layout->ostree_boot_dfd, "photon.cfg", &fd, error))
59 59
 +    return FALSE;
60 60
 +  if (fd != -1)
... ...
@@ -71,10 +70,11 @@ index 3ca6c14..0744d7e
71 71
 +      ret_layout->systemdcfg_namever = g_strdup ("systemd.cfg");
72 72
 +    }
73 73
 +  glnx_close_fd (&fd);
74
- 
74
++
75 75
    char hexdigest[OSTREE_SHA256_STRING_LEN+1];
76 76
    ot_checksum_get_hexdigest (&checksum, hexdigest, sizeof (hexdigest));
77
-@@ -1686,6 +1714,35 @@ install_deployment_kernel (OstreeSysroot   *sysroot,
77
+   ret_layout->bootcsum = g_strdup (hexdigest);
78
+@@ -1859,6 +1888,35 @@ install_deployment_kernel (OstreeSysroot   *sysroot,
78 79
          }
79 80
      }
80 81
  
... ...
@@ -85,10 +85,10 @@ index 3ca6c14..0744d7e
85 85
 +        return FALSE;
86 86
 +      if (errno == ENOENT)
87 87
 +        {
88
-+          if (!install_into_boot (sepolicy, kernel_layout->ostree_boot_dfd, kernel_layout->kernelcfg_srcpath,
89
-+							  bootcsum_dfd, kernel_layout->kernelcfg_namever,
90
-+							  sysroot->debug_flags,
91
-+							  cancellable, error))
88
++          if (!install_into_boot (repo, sepolicy, kernel_layout->ostree_boot_dfd, kernel_layout->kernelcfg_srcpath,
89
++                                                         bootcsum_dfd, kernel_layout->kernelcfg_namever,
90
++                                                         sysroot->debug_flags,
91
++                                                         cancellable, error))
92 92
 +            return FALSE;
93 93
 +        }
94 94
 +    }
... ...
@@ -99,19 +99,19 @@ index 3ca6c14..0744d7e
99 99
 +        return FALSE;
100 100
 +      if (errno == ENOENT)
101 101
 +        {
102
-+          if (!install_into_boot (sepolicy, kernel_layout->ostree_boot_dfd, kernel_layout->systemdcfg_srcpath,
103
-+							  bootcsum_dfd, kernel_layout->systemdcfg_namever,
104
-+							  sysroot->debug_flags,
105
-+							  cancellable, error))
106
-+	    return FALSE;
102
++          if (!install_into_boot (repo, sepolicy, kernel_layout->ostree_boot_dfd, kernel_layout->systemdcfg_srcpath,
103
++                                                         bootcsum_dfd, kernel_layout->systemdcfg_namever,
104
++                                                         sysroot->debug_flags,
105
++                                                         cancellable, error))
106
++           return FALSE;
107 107
 +        }
108 108
 +    }
109 109
 +
110 110
    g_autofree char *contents = NULL;
111 111
    if (!glnx_fstatat_allow_noent (deployment_dfd, "usr/lib/os-release", &stbuf, 0, error))
112 112
      return FALSE;
113
-@@ -1775,6 +1832,19 @@ install_deployment_kernel (OstreeSysroot   *sysroot,
114
-       _ostree_kernel_args_replace_take (kargs, g_steal_pointer (&prepare_root_arg));
113
+@@ -1947,6 +2005,18 @@ install_deployment_kernel (OstreeSysroot   *sysroot,
114
+       ostree_kernel_args_replace_take (kargs, g_steal_pointer (&prepare_root_arg));
115 115
      }
116 116
  
117 117
 +  if (kernel_layout->systemdcfg_namever)
... ...
@@ -126,10 +126,9 @@ index 3ca6c14..0744d7e
126 126
 +      ostree_bootconfig_parser_set (bootconfig, "kernelcfg", boot_relpath);
127 127
 +    }
128 128
 +
129
-+
130 129
    if (kernel_layout->devicetree_namever)
131 130
      {
132 131
        g_autofree char * boot_relpath = g_strconcat ("/", bootcsumdir, "/", kernel_layout->devicetree_namever, NULL);
133 132
 -- 
134
-2.7.4
133
+2.23.1
135 134
 
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        Git for operating system binaries
2 2
 Name:           ostree
3
-Version:        2019.2
4
-Release:        4%{?dist}
3
+Version:        2020.4
4
+Release:        1%{?dist}
5 5
 License:        LGPLv2+
6 6
 URL:            https://ostree.readthedocs.io/en/latest
7 7
 Group:          Applications/System
... ...
@@ -10,7 +10,7 @@ Distribution:   Photon
10 10
 # Manually created Source tar which is equal to
11 11
 # Source0 + .git as it requires git hooks at build time
12 12
 Source0:        https://github.com/ostreedev/ostree/archive/%{name}-%{version}.tar.gz
13
-%define sha1    %{name}-%{version}=716f6b626203a188ecf267cc312ca817ef7dc875
13
+%define sha1    %{name}-%{version}=d4af37dee8b950a5117a1817de7d35fc1c3220d5
14 14
 Source1:        91-ostree.preset
15 15
 Patch0:         dualboot-support.patch
16 16
 Patch1:         0001-ostree-Copying-photon-config-to-boot-directory.patch
... ...
@@ -22,7 +22,6 @@ BuildRequires:  gtk-doc
22 22
 BuildRequires:  glib-devel
23 23
 BuildRequires:  gobject-introspection
24 24
 BuildRequires:  gobject-introspection-devel
25
-BuildRequires:  python3-gobject-introspection
26 25
 BuildRequires:  xz-devel
27 26
 BuildRequires:  icu-devel
28 27
 BuildRequires:  sqlite-devel
... ...
@@ -46,6 +45,7 @@ Requires: dracut
46 46
 Requires: systemd
47 47
 Requires: libassuan
48 48
 Requires: gpgme
49
+Requires: python3-gobject-introspection
49 50
 
50 51
 %description
51 52
 OSTree is a tool for managing bootable, immutable, versioned
... ...
@@ -160,6 +160,8 @@ install -vdm 755 %{buildroot}/etc/ostree/remotes.d
160 160
 %{_libexecdir}/libostree/grub2*
161 161
 
162 162
 %changelog
163
+*   Thu Aug 13 2020 Ankit Jain <ankitja@vmware.com> 2020.4-1
164
+-   Updated to 2020.4
163 165
 *   Mon Jun 22 2020 Tapas Kundu <tkundu@vmware.com> 2019.2-4
164 166
 -   Build with gobject-introspection-python3
165 167
 *   Thu Oct 24 2019 Ankit Jain <ankitja@vmware.com> 2019.2-3
... ...
@@ -1,30 +1,29 @@
1 1
 Summary:       A toolkit for defining and handling authorizations.
2 2
 Name:          polkit
3
-Version:       0.116
3
+Version:       0.117
4 4
 Release:       1%{?dist}
5 5
 Group:         Applications/System
6 6
 Vendor:        VMware, Inc.
7 7
 License:       LGPLv2+
8 8
 URL:           https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html
9 9
 Source0:       https://www.freedesktop.org/software/polkit/releases/%{name}-%{version}.tar.gz
10
+%define sha1 polkit=0c375fa621bc9f74f2972e00fb517a408f419adf
10 11
 Distribution:  Photon
11 12
 BuildRequires: autoconf
12 13
 BuildRequires: expat-devel
13 14
 BuildRequires: glib-devel
14 15
 BuildRequires: gobject-introspection
15 16
 BuildRequires: intltool >= 0.40.0
16
-BuildRequires: mozjs60-devel
17
+BuildRequires: mozjs-devel
17 18
 BuildRequires: Linux-PAM-devel
18 19
 BuildRequires: systemd-devel
19
-Requires:      mozjs60
20
+Requires:      mozjs
20 21
 Requires:      expat
21 22
 Requires:      glib
22
-Requires:      js
23 23
 Requires:      Linux-PAM
24 24
 Requires:      systemd
25 25
 Requires(pre):  /usr/sbin/useradd /usr/sbin/groupadd
26 26
 Requires(postun):  /usr/sbin/userdel /usr/sbin/groupdel
27
-%define sha1 polkit=7fafbf4d2b9a308ad4ad3a174b01970b78c09eea
28 27
 
29 28
 %description
30 29
 polkit provides an authorization API intended to be used by privileged programs
... ...
@@ -111,6 +110,8 @@ fi
111 111
 %{_libdir}/pkgconfig/*.pc
112 112
 
113 113
 %changelog
114
+*   Thu Aug 13 2020 Ankit Jain <ankitja@vmware.com> 0.117-1
115
+-   Upgraded to 0.117
114 116
 *   Sat Oct 26 2019 Ankit Jain <ankitja@vmware.com> 0.116-1
115 117
 -   Upgraded to 0.116
116 118
 *   Thu Jan 10 2019 Dweep Advani <dadvani@vmware.com> 0.113-4
117 119
new file mode 100644
... ...
@@ -0,0 +1,25 @@
0
+From 1f93adcae80e260c605a60cddda8e92dd019bc75 Mon Sep 17 00:00:00 2001
1
+From: Ankit Jain <ankitja@vmware.com>
2
+Date: Fri, 14 Aug 2020 07:39:12 +0000
3
+Subject: [PATCH] libdnf: Remove POOL_FLAG_WHATPROVIDESWITHDISABLED support
4
+
5
+- This change reverts
6
+  https://github.com/rpm-software-management/libdnf/commit/998a434c098c1929b11d9d3892f153292a4e9913
7
+  because it requires libsolv-0.7.7
8
+---
9
+ libdnf/libdnf/dnf-sack.cpp | 1 -
10
+ 1 file changed, 1 deletion(-)
11
+
12
+--- libdnf/libdnf/dnf-sack.cpp
13
+@@ -184,7 +184,6 @@ dnf_sack_init(DnfSack *sack)
14
+ {
15
+     DnfSackPrivate *priv = GET_PRIVATE(sack);
16
+     priv->pool = pool_create();
17
+-    pool_set_flag(priv->pool, POOL_FLAG_WHATPROVIDESWITHDISABLED, 1);
18
+     priv->running_kernel_id = -1;
19
+     priv->running_kernel_fn = running_kernel;
20
+     priv->considered_uptodate = TRUE;
21
+-- 
22
+2.23.1
23
+
... ...
@@ -72,21 +72,19 @@ cat > $JSONFILE << EOF
72 72
 
73 73
         "documentation": false,
74 74
 
75
-        "packages": ["glibc", "zlib", "binutils", "gmp", "mpfr", "libgcc", "libstdc++","libgomp",
76
-                     "pkg-config", "ncurses", "bash", "bzip2", "cracklib", "cracklib-dicts", "shadow",
77
-                     "procps-ng", "iana-etc", "readline", "coreutils", "bc", "libtool", "net-tools",
78
-                     "findutils", "xz", "grub2", "grub2-efi", "iproute2", "util-linux", "linux",
79
-                     "attr", "libcap", "kmod", "expat", "dbus", "file",
80
-                     "sed", "grep", "cpio", "gzip",
81
-                     "openssl", "ca-certificates", "curl",
82
-                     "systemd",
83
-                     "openssh", "iptables",
84
-                     "photon-release",
85
-                     "vim", "photon-repos",
86
-                     "docker", "bridge-utils",
87
-                     "dracut", "dracut-tools", "rpm-ostree", "nss-altfiles", "which"],
88
-
89
-        "packages-x86_64": ["grub2-pc"]
75
+        "packages": ["bash", "bc", "bridge-utils", "bzip2","ca-certificates",
76
+                     "cloud-init", "cpio", "cracklib-dicts", "dbus", "e2fsprogs",
77
+                     "file", "findutils", "gdbm", "grep", "gzip", "iana-etc",
78
+                     "iptables", "iproute2", "iputils", "libtool", "linux", "motd",
79
+                     "net-tools", "pkg-config", "photon-release", "photon-repos",
80
+                     "procps-ng", "rpm", "sed", "sudo", "tzdata", "util-linux",
81
+                     "vim", "which", "dracut-tools", "rpm-ostree", "nss-altfiles",
82
+                     "openssh", "systemd", "openssl", "grub2", "grub2-efi",
83
+                     "shadow", "ncurses", "grub2-theme-ostree"],
84
+
85
+        "packages-x86_64": ["grub2-pc", "grub2-efi-image", "open-vm-tools"],
86
+
87
+        "units": ["sshd-keygen.service", "sshd.service"]
90 88
 }
91 89
 EOF
92 90
   elif [ -f $REPOPATH/photon-base.json ]; then
... ...
@@ -112,8 +110,8 @@ function generating-repos()
112 112
   if [ "$DEFAULT" == "YES" ] && [ ! -f $REPOPATH/photon.repo ]; then
113 113
 cat > $REPOPATH/photon.repo << EOF
114 114
 [photon]
115
-name=VMware Photon Linux 3.0(_arch)
116
-baseurl=https://dl.bintray.com/vmware/photon_release_3.0_\$basearch
115
+name=VMware Photon Linux 3.0 (\$basearch)
116
+baseurl=https://packages.vmware.com/photon/3.0/photon_release_3.0_\$basearch
117 117
 gpgkey=file:///etc/pki/rpm-gpg/VMWARE-RPM-GPG-KEY
118 118
 gpgcheck=1
119 119
 enabled=1
... ...
@@ -123,8 +121,8 @@ EOF
123 123
   if [ ! -f $REPOPATH/photon-updates.repo ]; then
124 124
 cat > $REPOPATH/photon-updates.repo << EOF
125 125
 [photon-updates]
126
-name=VMware Photon Linux 3.0(_arch) Updates
127
-baseurl=https://dl.bintray.com/vmware/photon_updates_3.0_\$basearch
126
+name=VMware Photon Linux 3.0 (\$basearch) Updates
127
+baseurl=https://packages.vmware.com/photon/3.0/photon_updates_3.0_\$basearch
128 128
 gpgkey=file:///etc/pki/rpm-gpg/VMWARE-RPM-GPG-KEY
129 129
 gpgcheck=1
130 130
 enabled=1
... ...
@@ -134,8 +132,8 @@ EOF
134 134
   if [ ! -f $REPOPATH/photon-extras.repo ]; then
135 135
 cat > $REPOPATH/photon-extras.repo << EOF
136 136
 [photon-extras]
137
-name=VMware Photon Extras 3.0(_arch)
138
-baseurl=https://dl.bintray.com/vmware/photon_extras_3.0_\$basearch
137
+name=VMware Photon Extras 3.0 (\$basearch)
138
+baseurl=https://packages.vmware.com/photon/3.0/photon_extras_3.0_\$basearch
139 139
 gpgkey=file:///etc/pki/rpm-gpg/VMWARE-RPM-GPG-KEY
140 140
 gpgcheck=1
141 141
 enabled=1
142 142
deleted file mode 100644
... ...
@@ -1,295 +0,0 @@
1
-diff --git a/src/app/rpmostree-compose-builtin-rojig.c b/src/app/rpmostree-compose-builtin-rojig.c
2
-index 02f0e03..10b0059 100644
3
-+++ src/app/rpmostree-compose-builtin-rojig.c
4
-@@ -206,6 +206,7 @@ install_packages (RpmOstreeRojigCompose  *self,
5
-   if (!rpmostree_context_assemble (self->corectx, cancellable, error))
6
-     return FALSE;
7
- 
8
-+#ifdef ENABLE_SELINUX
9
-   /* Now reload the policy from the tmproot, and relabel the pkgcache - this
10
-    * is the same thing done in rpmostree_context_commit(). But here we want
11
-    * to ensure our pkgcache labels are accurate, since that will
12
-@@ -217,7 +218,7 @@ install_packages (RpmOstreeRojigCompose  *self,
13
-     if (!rpmostree_context_force_relabel (self->corectx, cancellable, error))
14
-       return FALSE;
15
-   }
16
--
17
-+#endif
18
-   if (out_unmodified)
19
-     *out_unmodified = FALSE;
20
-   *out_new_inputhash = g_steal_pointer (&ret_new_inputhash);
21
-diff --git a/src/app/rpmostree-compose-builtin-tree.c b/src/app/rpmostree-compose-builtin-tree.c
22
-index a2b6131..96530c1 100644
23
-+++ src/app/rpmostree-compose-builtin-tree.c
24
-@@ -287,9 +287,10 @@ install_packages (RpmOstreeTreeComposeContext  *self,
25
-       return FALSE;
26
-   }
27
- 
28
-+#ifdef ENABLE_SELINUX
29
-   if (!try_load_previous_sepolicy (self, cancellable, error))
30
-     return FALSE;
31
--
32
-+#endif
33
-   /* For unified core, we have a pkgcache repo. This is auto-created under the cachedir. */
34
-   if (opt_unified_core)
35
-     {
36
-@@ -397,6 +398,7 @@ install_packages (RpmOstreeTreeComposeContext  *self,
37
-       if (!rpmostree_context_assemble (self->corectx, cancellable, error))
38
-         return FALSE;
39
- 
40
-+#ifdef ENABLE_SELINUX
41
-       /* Now reload the policy from the tmproot, and relabel the pkgcache - this
42
-        * is the same thing done in rpmostree_context_commit(). But here we want
43
-        * to ensure our pkgcache labels are accurate, since that will
44
-@@ -410,6 +412,7 @@ install_packages (RpmOstreeTreeComposeContext  *self,
45
- 
46
-       if (!rpmostree_context_force_relabel (self->corectx, cancellable, error))
47
-         return FALSE;
48
-+#endif
49
-     }
50
-   else
51
-     {
52
-diff --git a/src/daemon/rpmostree-sysroot-upgrader.c b/src/daemon/rpmostree-sysroot-upgrader.c
53
-index 27551a1..95a416f 100644
54
-+++ src/daemon/rpmostree-sysroot-upgrader.c
55
-@@ -906,13 +906,14 @@ prepare_context_for_assembly (RpmOstreeSysrootUpgrader *self,
56
-                                                self->cfg_merge_deployment);
57
- 
58
-   /* load the sepolicy to use during import */
59
-+#ifdef ENABLE_SELINUX
60
-   glnx_unref_object OstreeSePolicy *sepolicy = NULL;
61
-   if (!rpmostree_prepare_rootfs_get_sepolicy (self->tmprootfs_dfd, &sepolicy,
62
-                                               cancellable, error))
63
-     return FALSE;
64
- 
65
-   rpmostree_context_set_sepolicy (self->ctx, sepolicy);
66
--
67
-+#endif
68
-   if (self->flags & RPMOSTREE_SYSROOT_UPGRADER_FLAGS_PKGCACHE_ONLY)
69
-     rpmostree_context_set_pkgcache_only (self->ctx, TRUE);
70
- 
71
-diff --git a/src/daemon/rpmostreed-transaction-livefs.c b/src/daemon/rpmostreed-transaction-livefs.c
72
-index b8e2a1b..0c881f2 100644
73
-+++ src/daemon/rpmostreed-transaction-livefs.c
74
-@@ -189,10 +189,11 @@ copy_new_config_files (OstreeRepo          *repo,
75
-    */
76
-   OstreeRepoCheckoutAtOptions etc_co_opts = { .force_copy = TRUE,
77
-                                               .overwrite_mode = OSTREE_REPO_CHECKOUT_OVERWRITE_ADD_FILES };
78
-+#ifdef ENABLE_SELINUX
79
-   /* Use SELinux policy if it's initialized */
80
-   if (ostree_sepolicy_get_name (sepolicy) != NULL)
81
-     etc_co_opts.sepolicy = sepolicy;
82
--
83
-+#endif
84
-   glnx_autofd int deployment_etc_dfd = -1;
85
-   if (!glnx_opendirat (new_deployment_dfd, "etc", TRUE, &deployment_etc_dfd, error))
86
-     return FALSE;
87
-@@ -209,8 +210,10 @@ copy_new_config_files (OstreeRepo          *repo,
88
-       const char *etc_path = path + strlen ("/usr");
89
- 
90
-       etc_co_opts.subpath = path;
91
-+#ifdef ENABLE_SELINUX
92
-       /* Strip off /usr for selinux labeling */
93
-       etc_co_opts.sepolicy_prefix = etc_path;
94
-+#endif
95
- 
96
-       const char *sub_etc_relpath = etc_path + strlen ("/etc/");
97
-       /* We keep track of added subdirectories and skip children of it, since
98
-diff --git a/src/libpriv/rpmostree-core.c b/src/libpriv/rpmostree-core.c
99
-index 1d1b87c..75551f9 100644
100
-+++ src/libpriv/rpmostree-core.c
101
-@@ -804,6 +804,7 @@ rpmostree_context_setup (RpmOstreeContext    *self,
102
- 
103
-   gboolean selinux;
104
-   g_assert (g_variant_dict_lookup (self->spec->dict, "selinux", "b", &selinux));
105
-+#ifdef ENABLE_SELINUX
106
-   /* Load policy from / if SELinux is enabled, and we haven't already loaded
107
-    * a policy.  This is mostly for the "compose tree" case.
108
-    */
109
-@@ -828,6 +829,7 @@ rpmostree_context_setup (RpmOstreeContext    *self,
110
-         return glnx_throw (error, "Unable to load SELinux policy from /");
111
-       rpmostree_context_set_sepolicy (self, sepolicy);
112
-     }
113
-+#endif
114
- 
115
-   return TRUE;
116
- }
117
-@@ -2021,10 +2023,12 @@ rpmostree_context_prepare_rojig (RpmOstreeContext *self,
118
-                                  GError          **error)
119
- {
120
-   self->rojig_pure = TRUE;
121
-+#ifdef ENABLE_SELINUX
122
-   /* Override the default policy load; rojig handles xattrs
123
-    * internally.
124
-    */
125
-   rpmostree_context_set_sepolicy (self, NULL);
126
-+#endif
127
-   self->rojig_allow_not_found = allow_not_found;
128
-   return rpmostree_context_prepare (self, cancellable, error);
129
- }
130
-@@ -2992,7 +2996,9 @@ relabel_in_thread_impl (RpmOstreeContext *self,
131
-     ostree_repo_commit_modifier_new (OSTREE_REPO_COMMIT_MODIFIER_FLAGS_CONSUME,
132
-                                        NULL, NULL, NULL);
133
-   ostree_repo_commit_modifier_set_devino_cache (modifier, cache);
134
-+#ifdef ENABLE_SELINUX
135
-   ostree_repo_commit_modifier_set_sepolicy (modifier, self->sepolicy);
136
-+#endif
137
- 
138
-   g_autoptr(OstreeMutableTree) mtree = ostree_mutable_tree_new ();
139
-   if (!ostree_repo_write_dfd_to_mtree (repo, tmpdir_dfd, pkg_dirname, mtree,
140
-@@ -3010,6 +3016,7 @@ relabel_in_thread_impl (RpmOstreeContext *self,
141
-   if (!ostree_repo_load_commit (repo, commit_csum, &commit_var, NULL, error))
142
-     return FALSE;
143
- 
144
-+#ifdef ENABLE_SELINUX
145
-   /* let's just copy the metadata from the previous commit and only change the
146
-    * rpmostree.sepolicy value */
147
-   g_autoptr(GVariant) meta = g_variant_get_child_value (commit_var, 0);
148
-@@ -3017,14 +3024,14 @@ relabel_in_thread_impl (RpmOstreeContext *self,
149
- 
150
-   g_variant_dict_insert (meta_dict, "rpmostree.sepolicy", "s",
151
-                          ostree_sepolicy_get_csum (self->sepolicy));
152
--
153
-+#endif
154
-+  
155
-   g_autofree char *new_commit_csum = NULL;
156
-   if (!ostree_repo_write_commit (repo, NULL, "", "",
157
-                                  g_variant_dict_end (meta_dict),
158
-                                  OSTREE_REPO_FILE (root), &new_commit_csum,
159
-                                  cancellable, error))
160
-     return FALSE;
161
--
162
-   /* Compute new content checksum */
163
-   g_autoptr(GVariant) new_commit = NULL;
164
-   if (!ostree_repo_load_commit (repo, new_commit_csum, &new_commit, NULL, error))
165
-@@ -3580,6 +3587,7 @@ add_install (RpmOstreeContext *self,
166
-     return FALSE;
167
- 
168
-   gboolean sepolicy_matches;
169
-+#ifdef ENABLE_SELINUX
170
-   if (self->sepolicy)
171
-     {
172
-       if (!commit_has_matching_sepolicy (commit, self->sepolicy, &sepolicy_matches,
173
-@@ -3589,7 +3597,7 @@ add_install (RpmOstreeContext *self,
174
-       /* We already did any relabeling/reimporting above */
175
-       g_assert (sepolicy_matches);
176
-     }
177
--
178
-+#endif
179
-   if (!checkout_pkg_metadata_by_dnfpkg (self, pkg, cancellable, error))
180
-     return FALSE;
181
- 
182
-@@ -4425,6 +4433,7 @@ rpmostree_context_commit (RpmOstreeContext      *self,
183
-     /* if we're SELinux aware, then reload the final policy from the tmprootfs in case it
184
-      * was changed by a scriptlet; this covers the foobar/foobar-selinux path */
185
-     g_autoptr(OstreeSePolicy) final_sepolicy = NULL;
186
-+#ifdef ENABLE_SELINUX
187
-     if (self->sepolicy)
188
-       {
189
-         if (!rpmostree_prepare_rootfs_get_sepolicy (self->tmprootfs_dfd, &final_sepolicy,
190
-@@ -4440,6 +4449,7 @@ rpmostree_context_commit (RpmOstreeContext      *self,
191
-                        ostree_sepolicy_get_csum (final_sepolicy)) == 0)
192
-           modflags |= OSTREE_REPO_COMMIT_MODIFIER_FLAGS_DEVINO_CANONICAL;
193
-       }
194
-+#endif
195
- 
196
-     commit_modifier = ostree_repo_commit_modifier_new (modflags, NULL, NULL, NULL);
197
-     if (final_sepolicy)
198
-diff --git a/src/libpriv/rpmostree-importer.c b/src/libpriv/rpmostree-importer.c
199
-index adcc7e9..4dd80d4 100644
200
-+++ src/libpriv/rpmostree-importer.c
201
-@@ -450,6 +450,7 @@ build_metadata_variant (RpmOstreeImporter *self,
202
-                                         headerGetString (self->hdr, RPMTAG_RELEASE),
203
-                                         headerGetString (self->hdr, RPMTAG_ARCH)));
204
- 
205
-+#ifdef ENABLE_SELINUX
206
-   /* The current sepolicy that was used to label the unpacked files is important
207
-    * to record. It will help us during future overlays to determine whether the
208
-    * files should be relabeled. */
209
-@@ -457,7 +458,7 @@ build_metadata_variant (RpmOstreeImporter *self,
210
-     g_variant_builder_add (&metadata_builder, "{sv}", "rpmostree.sepolicy",
211
-                            g_variant_new_string
212
-                              (ostree_sepolicy_get_csum (self->sepolicy)));
213
--
214
-+#endif
215
-   /* let's be nice to our future selves just in case */
216
-   g_variant_builder_add (&metadata_builder, "{sv}", "rpmostree.unpack_version",
217
-                          g_variant_new_uint32 (1));
218
-@@ -872,7 +873,9 @@ import_rpm_to_repo (RpmOstreeImporter *self,
219
-   else
220
-     {
221
-       ostree_repo_commit_modifier_set_xattr_callback (modifier, xattr_cb, NULL, self);
222
-+#ifdef ENABLE_SELINUX
223
-       ostree_repo_commit_modifier_set_sepolicy (modifier, self->sepolicy);
224
-+#endif
225
-     }
226
- 
227
-   OstreeRepoImportArchiveOptions opts = { 0 };
228
-diff --git a/src/libpriv/rpmostree-postprocess.c b/src/libpriv/rpmostree-postprocess.c
229
-index d6c7328..72ae916 100644
230
-+++ src/libpriv/rpmostree-postprocess.c
231
-@@ -978,6 +978,7 @@ rpmostree_postprocess_final (int            rootfs_dfd,
232
-   if (!ror_compose_postprocess_final (rootfs_dfd, error))
233
-     return FALSE;
234
- 
235
-+#ifdef ENABLE_SELINUX
236
-   if (selinux)
237
-     {
238
-       g_print ("Recompiling policy\n");
239
-@@ -989,6 +990,7 @@ rpmostree_postprocess_final (int            rootfs_dfd,
240
-                               cancellable, error))
241
-         return FALSE;
242
-     }
243
-+#endif
244
- 
245
-   gboolean container = FALSE;
246
-   if (!_rpmostree_jsonutil_object_get_optional_boolean_member (treefile,
247
-@@ -1019,11 +1021,13 @@ rpmostree_postprocess_final (int            rootfs_dfd,
248
-   if (!replace_nsswitch (rootfs_dfd, cancellable, error))
249
-     return glnx_prefix_error (error, "nsswitch replacement");
250
- 
251
-+#ifdef ENABLE_SELINUX
252
-   if (selinux)
253
-     {
254
-       if (!postprocess_selinux_policy_store_location (rootfs_dfd, cancellable, error))
255
-         return glnx_prefix_error (error, "SELinux postprocess");
256
-     }
257
-+#endif
258
- 
259
-   if (!convert_var_to_tmpfiles_d (rootfs_dfd, cancellable, error))
260
-     return FALSE;
261
-@@ -2042,12 +2046,14 @@ rpmostree_compose_commit (int            rootfs_fd,
262
-                           GError       **error)
263
- {
264
-   g_autoptr(OstreeSePolicy) sepolicy = NULL;
265
-+#ifdef ENABLE_SELINUX
266
-   if (enable_selinux)
267
-     {
268
-       sepolicy = ostree_sepolicy_new_at (rootfs_fd, cancellable, error);
269
-       if (!sepolicy)
270
-         return FALSE;
271
-     }
272
-+#endif
273
- 
274
-   g_autoptr(OstreeMutableTree) mtree = ostree_mutable_tree_new ();
275
-   /* We may make this configurable if someone complains about including some
276
-@@ -2067,10 +2073,12 @@ rpmostree_compose_commit (int            rootfs_fd,
277
-                                                   filter_xattrs_cb, NULL,
278
-                                                   &tdata);
279
- 
280
-+#ifdef ENABLE_SELINUX
281
-   if (sepolicy && ostree_sepolicy_get_name (sepolicy) != NULL)
282
-     ostree_repo_commit_modifier_set_sepolicy (commit_modifier, sepolicy);
283
-   else if (enable_selinux)
284
-     return glnx_throw (error, "SELinux enabled, but no policy found");
285
-+#endif
286
- 
287
-   if (devino_cache)
288
-     ostree_repo_commit_modifier_set_devino_cache (commit_modifier, devino_cache);
... ...
@@ -1,22 +1,23 @@
1 1
 Summary:        Commit RPMs to an OSTree repository
2 2
 Name:           rpm-ostree
3
-Version:        2019.3
4
-Release:        4%{?dist}
3
+Version:        2020.4
4
+Release:        1%{?dist}
5 5
 License:        LGPLv2+
6 6
 URL:            https://github.com/projectatomic/rpm-ostree
7 7
 Vendor:         VMware, Inc.
8 8
 Distribution:   Photon
9 9
 Source0:        https://github.com/projectatomic/rpm-ostree/releases/download/v%{version}/rpm-ostree-%{version}.tar.xz
10
-%define sha1    rpm-ostree=982c3b335debe04763c0b0b8769f7e43229beebc
11
-Source1:        libglnx-470af87.tar.gz
12
-%define sha1    libglnx=ed1ee84156ff0d9e70b551a7932fda79fb59e8d4
13
-Source2:        libdnf-d8e481b.tar.gz
14
-%define sha1    libdnf=dde7dd434d715c46c7e91c179caccb6eaff2bdd5
10
+%define sha1    rpm-ostree=59e490cba94ac0ddd9fb6d43c06a059bbc48ab16
11
+Source1:        libglnx-84b981a.tar.gz
12
+%define sha1    libglnx=3814aae9c0f8997c1846bdd16f80f1d1d72dc959
13
+Source2:        libdnf-be77400.tar.gz
14
+%define sha1    libdnf=7e81f4f9d0d4104471cf1d6575a5c4af159d435a
15 15
 Source3:        mk-ostree-host.sh
16 16
 Source4:        function.inc
17 17
 Source5:        mkostreerepo
18 18
 Patch0:         rpm-ostree-libdnf-build.patch
19
-Patch1:         rpm-ostree-disable-selinux.patch
19
+# This patch is required to build libdnf with old version of libsolv
20
+Patch1:         libdnf-Remove-POOL_FLAG_WHATPROVIDESWITHDISABLED.patch
20 21
 
21 22
 BuildRequires:  autoconf
22 23
 BuildRequires:  automake
... ...
@@ -42,7 +43,6 @@ BuildRequires:  librepo-devel
42 42
 BuildRequires:  attr-devel
43 43
 BuildRequires:  python3-libs
44 44
 BuildRequires:  python3
45
-BuildRequires:  python3-gobject-introspection
46 45
 BuildRequires:  autogen
47 46
 BuildRequires:  libsolv-devel
48 47
 BuildRequires:  libsolv
... ...
@@ -52,7 +52,6 @@ BuildRequires:  gperf
52 52
 BuildRequires:  which
53 53
 BuildRequires:  popt-devel
54 54
 BuildRequires:  createrepo_c
55
-BuildRequires:  jq
56 55
 BuildRequires:  photon-release
57 56
 BuildRequires:  photon-repos
58 57
 BuildRequires:  bubblewrap
... ...
@@ -102,8 +101,8 @@ Includes the scripts for rpm-ostree repo creation to act as server
102 102
 
103 103
 %prep
104 104
 %setup -q
105
-tar xf /usr/src/photon/SOURCES/libglnx-470af87.tar.gz --no-same-owner
106
-tar xf /usr/src/photon/SOURCES/libdnf-d8e481b.tar.gz --no-same-owner
105
+tar -xf %{SOURCE1} --no-same-owner
106
+tar -xf %{SOURCE2} --no-same-owner
107 107
 %patch0 -p0
108 108
 %patch1 -p0
109 109
 
... ...
@@ -126,9 +125,9 @@ install -p -m 755 -D %{SOURCE5} %{buildroot}%{_bindir}/rpm-ostree-server
126 126
 %{_libdir}/%{name}/
127 127
 %{_libdir}/*.so.1*
128 128
 %{_libdir}/girepository-1.0/*.typelib
129
-%{_sysconfdir}/dbus-1/system.d/*
130 129
 %{_unitdir}/*.service
131 130
 %{_libexecdir}/*
131
+%{_datadir}/dbus-1/system.d/*.conf
132 132
 %{_datadir}/dbus-1/system-services/*
133 133
 %config(noreplace) %{_sysconfdir}/rpm-ostreed.conf
134 134
 %{_libdir}/systemd/system/rpm-ostreed-automatic.timer
... ...
@@ -154,6 +153,8 @@ install -p -m 755 -D %{SOURCE5} %{buildroot}%{_bindir}/rpm-ostree-server
154 154
 %{_bindir}/rpm-ostree-server/mkostreerepo
155 155
 
156 156
 %changelog
157
+*   Thu Aug 13 2020 Ankit Jain <ankitja@vmware.com> 2020.4-1
158
+-   Updated to 2020.4
157 159
 *   Mon Jun 22 2020 Tapas Kundu <tkundu@vmware.com> 2019.3-4
158 160
 -   Build with python3
159 161
 -   Mass removal python2
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        Rust Programming Language
2 2
 Name:           rust
3
-Version:        1.34.2
4
-Release:        3%{?dist}
3
+Version:        1.45.2
4
+Release:        1%{?dist}
5 5
 License:        Apache License Version 2.0 and MIT
6 6
 URL:            https://github.com/rust-lang/rust
7 7
 Group:          Applications/System
... ...
@@ -10,7 +10,7 @@ Distribution:   Photon
10 10
 # Manually created Source tar which is equal to
11 11
 # Source0 + .git as it requires git hooks at build time
12 12
 Source0:        https://github.com/rust-lang/rust/archive/%{name}-%{version}.tar.gz
13
-%define sha1    %{name}-%{version}=b58d56db5bfba942019c9a83818ab2a1b6dc441c
13
+%define sha1    %{name}-%{version}=1425c54fb58083dc20ca4798328481099d2f41a4
14 14
 BuildRequires:  git
15 15
 BuildRequires:  cmake
16 16
 BuildRequires:  glibc
... ...
@@ -30,6 +30,7 @@ make %{?_smp_mflags}
30 30
 
31 31
 %install
32 32
 make DESTDIR=%{buildroot} install
33
+find %{buildroot}%{_libdir} -maxdepth 1 -type f -name '*.so' -exec chmod -v +x '{}' '+'
33 34
 rm %{buildroot}%{_docdir}/%{name}/html/.lock
34 35
 rm %{buildroot}%{_docdir}/%{name}/*.old
35 36
 
... ...
@@ -60,6 +61,8 @@ rm %{buildroot}%{_docdir}/%{name}/*.old
60 60
 %{_sysconfdir}/bash_completion.d/cargo
61 61
 
62 62
 %changelog
63
+*   Thu Aug 13 2020 Ankit Jain <ankitja@vmware.com> 1.45.2-1
64
+-   Updated to 1.45.2
63 65
 *   Tue Jun 23 2020 Tapas Kundu <tkundu@vmware.com> 1.34.2-3
64 66
 -   Build with python3
65 67
 -   Mass removal python2
... ...
@@ -17,15 +17,17 @@
17 17
 
18 18
     "documentation": false,
19 19
 
20
-    "packages": ["glibc", "zlib", "binutils", "gmp", "mpfr", "libgcc", "libstdc++","libgomp",
21
-                "pkg-config", "ncurses", "bash", "bzip2", "cracklib", "cracklib-dicts", "shadow",
22
-                "procps-ng", "iana-etc", "readline", "coreutils", "bc", "libtool", "net-tools",
23
-                "findutils", "xz", "grub2", "grub2-efi", "iproute2", "util-linux", "linux",
24
-                "attr", "libcap", "kmod", "expat", "dbus", "file", "sed", "grep", "cpio", "gawk",
25
-                "gzip", "openssl", "ca-certificates", "curl", "systemd", "openssh", "iptables",
26
-                "photon-release", "vim", "photon-repos", "docker", "bridge-utils", "rpm",
27
-                "dracut", "dracut-tools", "rpm-ostree", "nss-altfiles", "which",
28
-                "grub2-theme-ostree"],
29
-
30
-    "packages-x86_64": ["grub2-pc", "grub2-efi-image"]
20
+    "packages": ["bash", "bc", "bridge-utils", "bzip2","ca-certificates",
21
+                 "cloud-init", "cpio", "cracklib-dicts", "dbus", "e2fsprogs",
22
+                 "file", "findutils", "gdbm", "grep", "gzip", "iana-etc",
23
+                 "iptables", "iproute2", "iputils", "libtool", "linux", "motd",
24
+                 "net-tools", "pkg-config", "photon-release", "photon-repos",
25
+                 "procps-ng", "rpm", "sed", "sudo", "tzdata", "util-linux",
26
+                 "vim", "which", "dracut-tools", "rpm-ostree", "nss-altfiles",
27
+                 "openssh", "systemd", "openssl", "grub2", "grub2-efi",
28
+                 "shadow", "ncurses", "grub2-theme-ostree"],
29
+
30
+    "packages-x86_64": ["grub2-pc", "grub2-efi-image", "open-vm-tools"],
31
+
32
+    "units": ["sshd-keygen.service", "sshd.service"]
31 33
 }