Browse code

SPECS fixes #4 to support cross compilation

At this stage, we can cross build set of packages
required to generate RPi3 image.

Change-Id: Iada7b4abaf6d230a31975e827a123764680c9409
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/8667
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Priyesh Padmavilasom <ppadmavilasom@vmware.com>
Reviewed-by: Anish Swaminathan <anishs@vmware.com>

Alexey Makhalov authored on 2019/11/27 08:10:48
Showing 20 changed files
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:	XML-Parser perl module
2 2
 Name:		XML-Parser
3 3
 Version:	2.44
4
-Release:	5%{?dist}
4
+Release:	6%{?dist}
5 5
 License:	GPL+
6 6
 URL:		http://search.cpan.org/~toddr/%{name}-%{version}/
7 7
 Source0:		http://search.cpan.org/CPAN/authors/id/T/TO/TODDR/%{name}-%{version}.tar.gz
... ...
@@ -18,7 +18,18 @@ The XML::Parser module is a Perl extension interface to James Clark's XML parser
18 18
 %prep
19 19
 %setup -q
20 20
 %build
21
-perl Makefile.PL --prefix=%{_prefix}
21
+perl Makefile.PL
22
+if [ %{_host} != %{_build} ]; then
23
+  ln -s /target-%{_arch}%{perl_privlib}/%{_arch}-linux %{perl_privlib}/%{_arch}-linux
24
+  mkdir -p %{perl_vendorlib}
25
+  ln -s /target-%{_arch}%{perl_vendorlib}/%{_arch}-linux %{perl_vendorlib}/%{_arch}-linux
26
+
27
+  # ugly hack again, similarly to cmake:
28
+  ln -sf %{_arch}-linux-gnu-gcc /usr/bin/gcc
29
+  ln -sf %{_arch}-linux-gnu-g++ /usr/bin/g++
30
+  ln -sf %{_arch}-linux-gnu-ld /usr/bin/ld
31
+  ln -sf %{_arch}-linux-gnu-ar /usr/bin/ar
32
+fi
22 33
 make %{?_smp_mflags}
23 34
 %install
24 35
 make DESTDIR=%{buildroot} install
... ...
@@ -34,6 +45,8 @@ make %{?_smp_mflags} test
34 34
 %{_libdir}/perl5/*
35 35
 %{_mandir}/man3/*
36 36
 %changelog
37
+*   Thu Nov 15 2018 Alexey Makhalov <amakhalov@vmware.com> 2.44-6
38
+-   Cross compilation support
37 39
 *   Fri Sep 21 2018 Dweep Advani <dadvani@vmware.com> 2.44-5
38 40
 -   Consuming perl version upgrade of 5.28.0
39 41
 *   Tue Nov 14 2017 Alexey Makhalov <amakhalov@vmware.com> 2.44-4
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:	Check-0.12.0
2 2
 Name:		check
3 3
 Version:	0.12.0
4
-Release:	1%{?dist}
4
+Release:	2%{?dist}
5 5
 License:	LGPLv2+
6 6
 URL:		http://check.sourceforge.net/
7 7
 Source0:	https://github.com/libcheck/check/archive/%{name}-%{version}.tar.gz
... ...
@@ -9,15 +9,16 @@ Source0:	https://github.com/libcheck/check/archive/%{name}-%{version}.tar.gz
9 9
 Group:		Development/Tools
10 10
 Vendor:		VMware, Inc.
11 11
 Distribution: Photon
12
+Requires:       gawk
12 13
 %description
13
-Check is a unit testing framework for C. It features a simple interface for defining unit tests, 
14
-putting little in the way of the developer. Tests are run in a separate address space, 
14
+Check is a unit testing framework for C. It features a simple interface for defining unit tests,
15
+putting little in the way of the developer. Tests are run in a separate address space,
15 16
 so both assertion failures and code errors that cause segmentation faults or other signals can be caught.
16 17
 %prep
17 18
 %setup -q
18 19
 %build
19 20
 autoreconf --install
20
-./configure --prefix=%{_prefix}
21
+%configure
21 22
 make %{?_smp_mflags}
22 23
 %install
23 24
 make DESTDIR=%{buildroot} install
... ...
@@ -39,6 +40,9 @@ make %{?_smp_mflags} check
39 39
 /usr/share/doc/%{name}/*
40 40
 /usr/share/aclocal/*
41 41
 %changelog
42
+*   Thu Nov 08 2018 Alexey Makhalov <amakhalov@vmware.com> 0.12.0-2
43
+-   Cross compilation support
44
+-   Added required gawk
42 45
 *   Wed Sep 19 2018 Ajay Kaher <akaher@vmware.com> 0.12.0-1
43 46
 -   Upgraded to version 0.12.0
44 47
 *   Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 0.10.0-2
45 48
new file mode 100644
... ...
@@ -0,0 +1,49 @@
0
+From 288430d3c2d3f36a4c9d40c4fffa85288f44549a Mon Sep 17 00:00:00 2001
1
+From: "Roy.Li" <rongqing.li@windriver.com>
2
+Date: Tue, 25 Jun 2013 09:22:59 +0800
3
+Subject: [PATCH] Avoid to call AC_TRY_RUN
4
+
5
+Upstream-Status: Inappropriate [configuration]
6
+
7
+Avoid to call AC_TRY_RUN to check if GSSAPI libraries support SPNEGO
8
+on cross-compile environment by definition AC_ARG_ENABLE enable-spnego
9
+
10
+Signed-off-by: Roy.Li <rongqing.li@windriver.com>
11
+
12
+---
13
+ m4/sasl2.m4 | 15 +++++++++++++--
14
+ 1 file changed, 13 insertions(+), 2 deletions(-)
15
+
16
+diff --git a/m4/sasl2.m4 b/m4/sasl2.m4
17
+index 56e0504..cf62607 100644
18
+--- a/m4/sasl2.m4
19
+@@ -314,7 +314,18 @@ if test "$gssapi" != no; then
20
+   cmu_save_LIBS="$LIBS"
21
+   LIBS="$LIBS $GSSAPIBASE_LIBS"
22
+ 
23
+-  AC_MSG_CHECKING([for SPNEGO support in GSSAPI libraries])
24
++  AC_ARG_ENABLE([spnego],
25
++              [AC_HELP_STRING([--enable-spnego=<DIR>],
26
++                              [enable SPNEGO support in GSSAPI libraries [no]])],
27
++              [spnego=$enableval],
28
++              [spnego=no])
29
++
30
++  if test "$spnego" = no; then
31
++       echo "no"
32
++  elif test "$spnego" = yes; then
33
++       AC_DEFINE(HAVE_GSS_SPNEGO,,[Define if your GSSAPI implementation supports SPNEGO])
34
++  else
35
++       AC_MSG_CHECKING([for SPNEGO support in GSSAPI libraries])
36
+   AC_TRY_RUN([
37
+ #ifdef HAVE_GSSAPI_H
38
+ #include <gssapi.h>
39
+@@ -341,7 +352,7 @@ int main(void)
40
+ 	AC_MSG_RESULT(yes) ],
41
+ 	AC_MSG_RESULT(no))
42
+   LIBS="$cmu_save_LIBS"
43
+-
44
++   fi
45
+ else
46
+   AC_MSG_RESULT([disabled])
47
+ fi
0 48
new file mode 100644
... ...
@@ -0,0 +1,30 @@
0
+diff --git a/include/Makefile.am b/include/Makefile.am
1
+index 5ea5be2..c942efa 100644
2
+--- a/include/Makefile.am
3
+@@ -51,9 +51,15 @@ noinst_PROGRAMS = makemd5
4
+ 
5
+ makemd5_SOURCES = makemd5.c
6
+ 
7
+-md5global.h: makemd5
8
+-	-rm -f md5global.h
9
+-	./makemd5 md5global.h
10
++makemd5$(BUILD_EXEEXT) $(makemd5_OBJECTS): CC=gcc
11
++makemd5$(BUILD_EXEEXT) $(makemd5_OBJECTS): CFLAGS=$(CFLAGS_FOR_BUILD)
12
++makemd5$(BUILD_EXEEXT): LDFLAGS=$(LDFLAGS_FOR_BUILD)
13
++
14
++md5global.h: makemd5$(BUILD_EXEEXT) Makefile
15
++	-rm -f $@
16
++	./$< $@
17
++
18
++BUILT_SOURCES = md5global.h
19
+ 
20
+ EXTRA_DIST = NTMakefile
21
+ DISTCLEANFILES = md5global.h
22
+@@ -63,3 +69,6 @@ framedir = /Library/Frameworks/SASL2.framework
23
+ frameheaderdir = $(framedir)/Versions/A/Headers
24
+ frameheader_DATA = $(saslinclude_HEADERS)
25
+ endif
26
++
27
++# TODO: automake, don't build it
28
++makemd5$(EXEEXT):
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        Cyrus Simple Authentication Service Layer (SASL) library
2 2
 Name:           cyrus-sasl
3 3
 Version:        2.1.26
4
-Release:        14%{?dist}
4
+Release:        15%{?dist}
5 5
 License:        Custom
6 6
 URL:            http://cyrusimap.web.cmu.edu/
7 7
 Group:          System Environment/Security
... ...
@@ -11,6 +11,8 @@ Source0:        ftp://ftp.cyrusimap.org/cyrus-sasl/%{name}-%{version}.tar.gz
11 11
 %define sha1    cyrus-sasl=d6669fb91434192529bd13ee95737a8a5040241c
12 12
 Patch0:         http://www.linuxfromscratch.org/patches/blfs/svn/cyrus-sasl-2.1.26-fixes-3.patch
13 13
 Patch1:         cyrus-sasl-mem-leak-fix.patch
14
+Patch2:         cyrus-sasl-2.1.26-fix-cross-compiling.patch
15
+Patch3:         avoid-to-call-AC_TRY_RUN.patch
14 16
 BuildRequires:  systemd
15 17
 BuildRequires:  openssl-devel
16 18
 BuildRequires:  krb5-devel >= 1.12
... ...
@@ -21,29 +23,29 @@ Requires:       krb5 >= 1.12
21 21
 Requires:       Linux-PAM
22 22
 Requires:       systemd
23 23
 %description
24
-The Cyrus SASL package contains a Simple Authentication and Security 
25
-Layer, a method for adding authentication support to 
24
+The Cyrus SASL package contains a Simple Authentication and Security
25
+Layer, a method for adding authentication support to
26 26
 connection-based protocols. To use SASL, a protocol includes a command
27
-for identifying and authenticating a user to a server and for 
27
+for identifying and authenticating a user to a server and for
28 28
 optionally negotiating protection of subsequent protocol interactions.
29
-If its use is negotiated, a security layer is inserted between the 
29
+If its use is negotiated, a security layer is inserted between the
30 30
 protocol and the connection.
31 31
 %prep
32 32
 %setup -q
33 33
 %patch0 -p1
34 34
 %patch1 -p1
35
+if [ %{_host} != %{_build} ]; then
36
+%patch2 -p1
37
+%patch3 -p1
38
+fi
35 39
 %build
36 40
 autoreconf -fi
37 41
 pushd saslauthd
38 42
 autoreconf -fi
39 43
 popd
40
-./configure \
44
+%configure \
41 45
     CFLAGS="%{optflags} -fPIC" \
42 46
     CXXFLAGS="%{optflags}" \
43
-    --prefix=%{_prefix} \
44
-    --bindir=%{_bindir} \
45
-    --libdir=%{_libdir} \
46
-    --sysconfdir=/etc \
47 47
     --with-plugindir=%{_libdir}/sasl2 \
48 48
     --without-dblib \
49 49
     --with-saslauthd=/run/saslauthd \
... ...
@@ -107,7 +109,7 @@ echo "disable saslauthd.service" > %{buildroot}%{_libdir}/systemd/system-preset/
107 107
 make %{?_smp_mflags} check
108 108
 
109 109
 %post
110
-%{_sbindir}/ldconfig 
110
+%{_sbindir}/ldconfig
111 111
 %systemd_post saslauthd.service
112 112
 
113 113
 %postun
... ...
@@ -134,6 +136,8 @@ rm -rf %{buildroot}/*
134 134
 %{_mandir}/man8/saslauthd.8.gz
135 135
 
136 136
 %changelog
137
+*   Thu Nov 15 2018 Alexey Makhalov <amakhalov@vmware.com> 2.1.26-15
138
+-   Cross compilation support
137 139
 *   Tue Nov 21 2017 Anish Swaminathan <anishs@vmware.com>  2.1.26-14
138 140
 -   Update patch for memory leak fix
139 141
 *   Tue Oct 10 2017 Anish Swaminathan <anishs@vmware.com>  2.1.26-13
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        Basic and advanced IPV4-based networking
2 2
 Name:           iproute2
3 3
 Version:        4.18.0
4
-Release:        2%{?dist}
4
+Release:        3%{?dist}
5 5
 License:        GPLv2+
6 6
 URL:            http://www.kernel.org/pub/linux/utils/net/iproute2
7 7
 Group:          Applications/System
... ...
@@ -33,7 +33,7 @@ sed -i 's/m_ipt.o//' tc/Makefile
33 33
 %patch0 -p1
34 34
 
35 35
 %build
36
-make VERBOSE=1 %{?_smp_mflags} DESTDIR= LIBDIR=%{_libdir}
36
+make CC=%{_host}-gcc VERBOSE=1 %{?_smp_mflags} DESTDIR= LIBDIR=%{_libdir}
37 37
 %install
38 38
 make    DESTDIR=%{buildroot} \
39 39
     MANDIR=%{_mandir} \
... ...
@@ -70,6 +70,8 @@ cd ..
70 70
 %{_mandir}/man3/*
71 71
 
72 72
 %changelog
73
+*   Wed Jul 03 2019 Alexey Makhalov <amakhalov@vmware.com> 4.18.0-3
74
+-   Cross compilation support
73 75
 *   Fri Mar 08 2019 Fabio Rapposelli <fabio@vmware.com> 4.18.0-2
74 76
 -   Added "Provides: iproute" for better compatibility with other distributions
75 77
 *   Wed Sep 05 2018 Ankit Jain <ankitja@vmware.com> 4.18.0-1
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        The Kerberos newtork authentication system
2 2
 Name:           krb5
3 3
 Version:        1.17
4
-Release:        1%{?dist}
4
+Release:        2%{?dist}
5 5
 License:        MIT
6 6
 URL:            http://web.mit.edu/kerberos/
7 7
 Group:          System Environment/Security
... ...
@@ -41,10 +41,15 @@ cd src &&
41 41
 sed -e 's@\^u}@^u cols 300}@' \
42 42
     -i tests/dejagnu/config/default.exp &&
43 43
 CPPFLAGS="-D_GNU_SOURCE" \
44
-autoconf &&
44
+autoconf
45
+if [ %{_host} != %{_build} ]; then
46
+  export krb5_cv_attr_constructor_destructor=yes,yes
47
+  export ac_cv_func_regcomp=yes
48
+  export ac_cv_printf_positional=yes
49
+  export ac_cv_file__etc_environment=no
50
+  export ac_cv_file__etc_TIMEZONE=no
51
+fi
45 52
 %configure \
46
-    --sysconfdir=/etc \
47
-        --localstatedir=/var/lib \
48 53
         --with-system-et         \
49 54
         --with-system-ss         \
50 55
         --with-system-verto=no   \
... ...
@@ -114,6 +119,8 @@ rm -rf %{buildroot}/*
114 114
 %{_datarootdir}/locale/*
115 115
 
116 116
 %changelog
117
+*   Fri Nov 01 2019 Alexey Makhalov <amakhalov@vmware.com> 1.17-2
118
+-   Cross compilation support
117 119
 *   Thu Oct 03 2019 Satya Naga Vasamsetty <svasamsetty@vmware.com> 1.17-1
118 120
 -   Update to version 1.17
119 121
 *   Fri Sep 14 2018 Ankit Jain <ankitja@vmware.com> 1.16.1-1
... ...
@@ -4,12 +4,19 @@
4 4
 Summary:        POSIX capability Library
5 5
 Name:           libcap-ng
6 6
 Version:        0.7.9
7
-Release:        1%{?dist}
7
+Release:        2%{?dist}
8 8
 License:        LGPLv2+
9 9
 Group:          System Environment/Libraries
10
+Vendor:		VMware, Inc.
11
+Distribution: 	Photon
10 12
 URL:            http://people.redhat.com/sgrubb/libcap-ng
11 13
 Source0:        http://people.redhat.com/sgrubb/libcap-ng/%{name}-%{version}.tar.gz
12 14
 %define sha1    libcap-ng=f29f1eefdfbbd93501d9c7a54ac340d4ca660634
15
+BuildRequires:  python2-devel
16
+BuildRequires:  python2-libs
17
+BuildRequires:  python3-devel
18
+BuildRequires:  python3-libs
19
+BuildRequires:  swig
13 20
 
14 21
 %description
15 22
 The libcap-ng library is intended to make programming with posix capabilities much easier than the traditional libcap library. It includes utilities that can analyse all currently running applications and print out any capabilities and whether or not it has an open ended bounding set. An open bounding set without the securebits "NOROOT" flag will allow full capabilities escalation for apps retaining uid 0 simply by calling execve.
... ...
@@ -17,9 +24,6 @@ The libcap-ng library is intended to make programming with posix capabilities mu
17 17
 %package  -n    python2-libcap-ng
18 18
 Summary:        Python bindings for libcap-ng
19 19
 License:        LGPLv2+
20
-BuildRequires:  python2-devel
21
-BuildRequires:  python2-libs
22
-BuildRequires:  swig
23 20
 Requires:       %{name} = %{version}-%{release}
24 21
 Requires:       python2
25 22
 
... ...
@@ -29,9 +33,6 @@ The python2-libcap-ng package contains the python2 bindings for libcap-ng.
29 29
 %package  -n    python3-libcap-ng
30 30
 Summary:        Python3 bindings for libaudit
31 31
 License:        LGPLv2+
32
-BuildRequires:  python3-devel
33
-BuildRequires:  python3-libs
34
-BuildRequires:  swig
35 32
 Requires:       %{name} = %{version}-%{release}
36 33
 Requires:       python3
37 34
 
... ...
@@ -49,9 +50,7 @@ The libraries and header files needed for libcap_ng development.
49 49
 %setup -q
50 50
 
51 51
 %build
52
-./configure \
53
-    --prefix=%{_prefix} \
54
-    --libdir=%{_libdir} \
52
+%configure \
55 53
     --with-python \
56 54
     --with-python3
57 55
 
... ...
@@ -89,6 +88,8 @@ sudo -u nobody -s /bin/bash -c "PATH=$PATH make -k check"
89 89
 %{_libdir}/*.a
90 90
 
91 91
 %changelog
92
+*   Thu Nov 15 2018 Alexey Makhalov <amakhalov@vmware.com> 0.7.9-2
93
+-   Cross compilation support
92 94
 *   Thu Sep 13 2018 Siju Maliakkal <smaliakkal@vmware.com> 0.7.9-1
93 95
 -   Updated to latest version
94 96
 *   Mon May 22 2017 Xiaolin Li <xiaolinl@vmware.com> 0.7.8-2
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:		Libcap
2 2
 Name:			libcap
3 3
 Version:		2.25
4
-Release:		8%{?dist}
4
+Release:		9%{?dist}
5 5
 License:		GPLv2+
6 6
 URL:			https://www.gnu.org/software/hurd/community/gsoc/project_ideas/libcap.html
7 7
 Source0:		https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/%{name}-%{version}.tar.xz
... ...
@@ -10,8 +10,8 @@ Group:			System Environment/Security
10 10
 Vendor:			VMware, Inc.
11 11
 Distribution:	Photon
12 12
 %description
13
-The libcap package implements the user-space interfaces to the POSIX 1003.1e capabilities available 
14
-in Linux kernels. These capabilities are a partitioning of the all powerful root privilege 
13
+The libcap package implements the user-space interfaces to the POSIX 1003.1e capabilities available
14
+in Linux kernels. These capabilities are a partitioning of the all powerful root privilege
15 15
 into a set of distinct privileges.
16 16
 
17 17
 %package        devel
... ...
@@ -26,12 +26,17 @@ for developing applications that use libcap.
26 26
 %prep
27 27
 %setup -q
28 28
 %build
29
+if [ %{_host} != %{_build} ]; then
30
+  MFLAGS="CC=%{_arch}-unknown-linux-gnu-gcc AR=%{_arch}-unknown-linux-gnu-ar RANLIB=%{_arch}-unknown-linux-gnu-ranlib BUILD_CC=gcc"
31
+else
32
+  MFLAGS=
33
+fi
29 34
 sed -i 's:LIBDIR:PAM_&:g' pam_cap/Makefile
30
-make %{?_smp_mflags}
35
+make %{?_smp_mflags} $MFLAGS
31 36
 %install
32 37
 make prefix=%{_prefix}	SBINDIR=%{_sbindir} PAM_LIBDIR=%{_libdir} RAISE_SETFCAP=no DESTDIR=%{buildroot} install
33 38
 %ifarch aarch64
34
-mv %{buildroot}%{_libdir} %{buildroot}%{_lib64dir}
39
+test -d %{buildroot}%{_libdir} && mv %{buildroot}%{_libdir} %{buildroot}%{_lib64dir}
35 40
 %endif
36 41
 chmod -v 755 %{buildroot}/usr/lib64/libcap.so
37 42
 %check
... ...
@@ -54,6 +59,8 @@ sed -i "s|pass_capsh --chroot=\$(/bin/pwd) ==||g" quicktest.sh
54 54
 %{_mandir}/man3/*
55 55
 
56 56
 %changelog
57
+*   Tue Nov 26 2019 Alexey Makhalov <amakhalov@vmware.com> 2.25-9
58
+-   Cross compilation support
57 59
 *   Tue Nov 14 2017 Alexey Makhalov <amakhalov@vmware.com> 2.25-8
58 60
 -   Aarch64 support
59 61
 *   Wed Aug 09 2017 Danut Moraru <dmoraru@vmware.com> 2.25-7
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        A simplified, portable interface to several low-level networking routines
2 2
 Name:           libdnet
3 3
 Version:        1.11
4
-Release:        6%{?dist}
4
+Release:        7%{?dist}
5 5
 License:        BSD
6 6
 URL:            http://prdownloads.sourceforge.net/libdnet/libdnet-1.11.tar.gz
7 7
 Group:          Applications/System
... ...
@@ -23,9 +23,7 @@ It contains the libraries and header files to create applications.
23 23
 %setup -q
24 24
 %patch0 -p1
25 25
 %build
26
-./configure --prefix=/usr "CFLAGS=-fPIC" \
27
-	--host=%{_host} --build=%{_build} \
28
-            --mandir=%{_mandir}
26
+%configure "CFLAGS=-fPIC"
29 27
 make %{?_smp_mflags}
30 28
 %install
31 29
 make DESTDIR=%{buildroot} install
... ...
@@ -36,7 +34,7 @@ make  %{?_smp_mflags} check
36 36
 %post   -p /sbin/ldconfig
37 37
 %postun -p /sbin/ldconfig
38 38
 
39
-%files 
39
+%files
40 40
 %defattr(-,root,root)
41 41
 %{_bindir}/*
42 42
 %{_libdir}/libdnet
... ...
@@ -51,6 +49,8 @@ make  %{?_smp_mflags} check
51 51
 %{_libdir}/libdnet.a
52 52
 
53 53
 %changelog
54
+*   Thu Nov 15 2018 Alexey Makhalov <amakhalov@vmware.com> 1.11-7
55
+-   Cross compilation support
54 56
 *   Tue Nov 14 2017 Alexey Makhalov <amakhalov@vmware.com> 1.11-6
55 57
 -   Aarch64 support
56 58
 *   Thu Aug 03 2017 Kumar Kaushik <kaushikk@vmware.com> 1.11-5
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:	A portable, high level programming interface to various calling conventions
2 2
 Name:		libffi
3 3
 Version:	3.2.1
4
-Release:	6%{?dist}
4
+Release:	7%{?dist}
5 5
 License:	BSD
6 6
 URL:		http://sourceware.org/libffi/
7 7
 Group:		System Environment/GeneralLibraries
... ...
@@ -16,14 +16,14 @@ BuildRequires:  dejagnu
16 16
 
17 17
 %description
18 18
 The libffi library provides a portable, high level programming interface
19
-to various calling conventions. This allows a programmer to call any 
19
+to various calling conventions. This allows a programmer to call any
20 20
 function specified by a call interface description at run time.
21 21
 
22 22
 %package    devel
23 23
 Summary:    Header and development files for libffi
24 24
 Requires:   %{name} = %{version}-%{release}
25 25
 %description    devel
26
-It contains the libraries and header files to create applications 
26
+It contains the libraries and header files to create applications
27 27
 
28 28
 %prep
29 29
 %setup -q
... ...
@@ -34,12 +34,7 @@ sed -e '/^includesdir/ s:$(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include:$(in
34 34
 sed -e '/^includedir/ s:${libdir}/@PACKAGE_NAME@-@PACKAGE_VERSION@/include:@includedir@:' \
35 35
     -e 's/^Cflags: -I${includedir}/Cflags:/' \
36 36
     -i libffi.pc.in        &&
37
-./configure \
38
-	CFLAGS="%{optflags}" \
39
-	CXXFLAGS="%{optflags}" \
40
-	--prefix=%{_prefix} \
41
-	--bindir=%{_bindir} \
42
-	--libdir=%{_libdir} \
37
+%configure \
43 38
 	--disable-static
44 39
 make %{?_smp_mflags}
45 40
 %install
... ...
@@ -70,6 +65,8 @@ rm -rf %{buildroot}/*
70 70
 %{_mandir}/man3/*
71 71
 
72 72
 %changelog
73
+*   Fri Nov 09 2018 Alexey Makhalov <amakhalov@vmware.com> 3.2.1-7
74
+-   Cross compilation support
73 75
 *   Tue Nov 14 2017 Alexey Makhalov <amakhalov@vmware.com> 3.2.1-6
74 76
 -   Aarch64 support
75 77
 *   Wed Jul 12 2017 Alexey Makhalov <amakhalov@vmware.com> 3.2.1-5
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        Libraries for the public client interface for NIS(YP) and NIS+.
2 2
 Name:           libnsl
3 3
 Version:        1.2.0
4
-Release:        1%{?dist}
4
+Release:        2%{?dist}
5 5
 Source0:        https://github.com/thkukuk/libnsl/archive/v1.2.0/libnsl-1.2.0.tar.gz
6 6
 %define sha1    libnsl=f141c7cf0ff96d96e369dda36af8ed19af0fc3ca
7 7
 License:        GPLv2+
... ...
@@ -33,7 +33,7 @@ This package includes header files and libraries necessary for developing progra
33 33
 
34 34
 %build
35 35
 autoreconf -fi
36
-%configure
36
+%configure $(test %{_host} != %{_build} && echo "--with-sysroot=/target-%{_arch}")
37 37
 make %{?_smp_mflags}
38 38
 
39 39
 %install
... ...
@@ -56,5 +56,7 @@ make install DESTDIR=%{buildroot}
56 56
 %{_libdir}/*.la
57 57
 
58 58
 %changelog
59
+* Thu Nov 15 2018 Alexey Makhalov <amakhalov@vmware.com> 1.2.0-2
60
+- Cross compilation support
59 61
 * Fri Sep 21 2018 Alexey Makhalov <amakhalov@vmware.com> 1.2.0-1
60 62
 - Initial version
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        libssh2 is a library implementing the SSH2 protocol.
2 2
 Name:           libssh2
3 3
 Version:        1.8.0
4
-Release:        2%{?dist}
4
+Release:        3%{?dist}
5 5
 License:        BSD
6 6
 URL:            https://www.libssh2.org/
7 7
 Group:          System Environment/NetworkingLibraries
... ...
@@ -31,8 +31,15 @@ These are the header files of libssh2.
31 31
 %patch0 -p1
32 32
 
33 33
 %build
34
-%configure --disable-static \
35
-    --enable-shared
34
+if [ %{_host} != %{_build} ]; then
35
+  PREFIXES="--with-libssl-prefix=/target-%{_arch}/usr --with-libz-prefix=/target-%{_arch}/usr"
36
+else
37
+  PREFIXES=
38
+fi
39
+%configure \
40
+    --disable-static \
41
+    --enable-shared \
42
+    $PREFIXES
36 43
 make
37 44
 
38 45
 %install
... ...
@@ -51,6 +58,8 @@ find %{buildroot} -name '*.la' -exec rm -f {} ';'
51 51
 %{_mandir}/man3/*
52 52
 
53 53
 %changelog
54
+*   Wed Jul 03 2019 Alexey Makhalov <amakhalov@vmware.com> 1.8.0-3
55
+-   Cross compilation support
54 56
 *   Thu Mar 28 2019 Tapas Kundu <tkundu@vmware.com> 1.8.0-2
55 57
 -   Fix for CVE-2019-3855
56 58
 *   Wed Nov 30 2016 Xiaolin Li <xiaolinl@vmware.com> 1.8.0-1
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        Libraries for Transport Independent RPC
2 2
 Name:           libtirpc
3 3
 Version:        1.1.4
4
-Release:        1%{?dist}
4
+Release:        2%{?dist}
5 5
 Source0:        http://downloads.sourceforge.net/project/libtirpc/libtirpc/0.3.2/%{name}-%{version}.tar.bz2
6 6
 %define sha1    libtirpc=d85717035cb9bd6c45557a1eb1351d3af9a69ff7
7 7
 License:        BSD
... ...
@@ -10,7 +10,6 @@ URL:            http://nfsv4.bullopensource.org/
10 10
 Vendor:         VMware, Inc.
11 11
 Distribution:   Photon
12 12
 BuildRequires:  krb5-devel
13
-BuildRequires:  automake
14 13
 BuildRequires:  e2fsprogs-devel
15 14
 Requires:       krb5
16 15
 
... ...
@@ -38,7 +37,7 @@ This package includes header files and libraries necessary for developing progra
38 38
 %setup -q
39 39
 
40 40
 %build
41
-./configure --prefix=%{_prefix} --sysconfdir=%{_sysconfdir}
41
+%configure
42 42
 sed '/stdlib.h/a#include <stdint.h>' -i src/xdr_sizeof.c
43 43
 
44 44
 make %{?_smp_mflags}
... ...
@@ -67,6 +66,8 @@ make install DESTDIR=%{buildroot}
67 67
 %{_libdir}/*.la
68 68
 
69 69
 %changelog
70
+*   Thu Nov 15 2018 Alexey Makhalov <amakhalov@vmware.com> 1.1.4-2
71
+-   Cross compilation support
70 72
 *   Wed Sep 12 2018 Keerthana K <keerthanak@vmware.com> 1.1.4-1
71 73
 -   Update to version 1.1.4
72 74
 *   Thu Aug 24 2017 Alexey Makhalov <amakhalov@vmware.com> 1.0.1-7
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        Libxslt-1.1.29
2 2
 Name:           libxslt
3 3
 Version:        1.1.32
4
-Release:        1%{?dist}
4
+Release:        2%{?dist}
5 5
 License:        MIT
6 6
 URL:            http:/http://xmlsoft.org/libxslt/
7 7
 Group:          System Environment/General Libraries
... ...
@@ -24,10 +24,8 @@ Header files for doing development with libxslt.
24 24
 %prep
25 25
 %setup -q
26 26
 %build
27
-./configure \
28
-    --prefix=%{_prefix} \
29
-    --bindir=%{_bindir} \
30
-    --libdir=%{_libdir} \
27
+%configure \
28
+    $(test %{_host} != %{_build} && echo "--with-sysroot=/target-%{_arch}") \
31 29
     --disable-static \
32 30
     --without-python
33 31
 make %{?_smp_mflags}
... ...
@@ -62,6 +60,8 @@ rm -rf %{buildroot}/*
62 62
 %{_mandir}/man3/*
63 63
 
64 64
 %changelog
65
+*   Thu Nov 15 2018 Alexey Makhalov <amakhalov@vmware.com> 1.1.32-2
66
+-   Cross compilation support
65 67
 *   Wed Sep 12 2018 Keerthana K <keerthanak@vmware.com> 1.1.32-1
66 68
 -   Update to version 1.1.32.
67 69
 *   Tue Jul 11 2017 Divya Thaluru <dthaluru@vmware.com> 1.1.29-4
... ...
@@ -2,7 +2,7 @@
2 2
 Summary:	OpenLdap-2.4.43
3 3
 Name:		openldap
4 4
 Version:	2.4.46
5
-Release:	2%{?dist}
5
+Release:	3%{?dist}
6 6
 License:	OpenLDAP
7 7
 URL:		http://cyrusimap.web.cmu.edu/
8 8
 Group:		System Environment/Security
... ...
@@ -40,11 +40,15 @@ sed -i '/6.0.20/ a\\t__db_version_compat' configure
40 40
 export CPPFLAGS="-D_REENTRANT -DLDAP_CONNECTIONLESS -D_GNU_SOURCE -D_AVL_H"
41 41
 
42 42
 %configure \
43
-        --disable-static    \
44
-        --disable-debug     \
45
-        --disable-slapd     \
46
-        --with-tls=openssl
43
+    $(test %{_host} != %{_build} && echo "CC=%{_host}-gcc --with-yielding-select=yes --with-sysroot=/target-%{_arch}") \
44
+    --disable-static    \
45
+    --disable-debug     \
46
+    --disable-slapd     \
47
+    --with-tls=openssl
47 48
 
49
+if [ %{_host} != %{_build} ]; then
50
+ sed -i '/#define NEED_MEMCMP_REPLACEMENT 1/d' include/portable.h
51
+fi
48 52
 make depend
49 53
 make %{?_smp_mflags}
50 54
 %install
... ...
@@ -75,6 +79,8 @@ rm -rf %{buildroot}/*
75 75
 /etc/openldap/*
76 76
 
77 77
 %changelog
78
+*   Thu Nov 15 2018 Alexey Makhalov <amakhalov@vmware.com> 2.4.46-3
79
+-   Cross compilation support
78 80
 *   Mon Nov 5 2018 Sriram Nambakam <snambakam@vmware.com> 2.4.46-2
79 81
 -   export CPPFLAGS before invoking configure
80 82
 *   Mon Sep 10 2018 Him Kalyan Bordoloi <bordoloih@vmware.com> 2.4.46-1
... ...
@@ -1,8 +1,10 @@
1
+%define perl_vendorarchdir %(test %{_host} == %{_build} && echo %{perl_vendorarch} || echo %{perl_vendorarch} | sed 's/x86_64-linux-thread-multi/%{_arch}-linux/')
2
+
1 3
 # Got the intial spec from Fedora and modified it
2 4
 Summary:        SQLite DBI Driver
3 5
 Name:           perl-DBD-SQLite
4 6
 Version:        1.62
5
-Release:        1%{?dist}
7
+Release:        2%{?dist}
6 8
 Group:          Development/Libraries
7 9
 License:        (GPL+ or Artistic) and Public Domain
8 10
 URL:            http://search.cpan.org/dist/DBD-SQLite/
... ...
@@ -27,8 +29,13 @@ libraries.
27 27
 %setup -q -n DBD-SQLite-%{version}
28 28
 
29 29
 %build
30
-CFLAGS="%{optflags}" perl Makefile.PL INSTALLDIRS=vendor
31
-make %{?_smp_mflags} OPTIMIZE="%{optflags}"
30
+CFLAGS="%{optflags}" perl Makefile.PL INSTALLDIRS=vendor AR=%{_host}-ar CC=%{_host}-gcc LD=%{_host}-gcc OPTIMIZE="%{optflags}"
31
+if [ %{_host} != %{_build} ]; then
32
+ln -s /target-%{_arch}%{perl_privlib}/%{_arch}-linux %{perl_privlib}/%{_arch}-linux
33
+ln -s /target-%{_arch}%{perl_vendorlib}/%{_arch}-linux %{perl_vendorlib}/%{_arch}-linux
34
+sed -i 's/x86_64-linux-thread-multi/%{_arch}-linux/' Makefile
35
+fi
36
+make %{?_smp_mflags}
32 37
 
33 38
 %install
34 39
 make pure_install DESTDIR=%{buildroot}
... ...
@@ -40,11 +47,13 @@ find %{buildroot} -type f \( -name .packlist -o \
40 40
 make test
41 41
 
42 42
 %files
43
-%{perl_vendorarch}/auto/*
44
-%{perl_vendorarch}/DBD/
43
+%{perl_vendorarchdir}/auto/*
44
+%{perl_vendorarchdir}/DBD/
45 45
 %{_mandir}/man3/*
46 46
 
47 47
 %changelog
48
+*   Wed Jul 03 2019 Alexey Makhalov <amakhalov@vmware.com> 1.62-2
49
+-   Cross compilation support
48 50
 *   Tue Jan 22 2019 Michelle Wang <michellew@vmware.com> 1.62-1
49 51
 -   Update to version 1.62.
50 52
 *   Fri Sep 21 2018 Dweep Advani <dadvani@vmware.com> 1.58-1
... ...
@@ -2,6 +2,8 @@
2 2
 # Filter unwanted dependencies
3 3
 %global __requires_exclude %{?__requires_exclude|%__requires_exclude|}^perl\\(RPC::\\)
4 4
 
5
+%define perl_vendorarchdir %(test %{_host} == %{_build} && echo %{perl_vendorarch} || echo %{perl_vendorarch} | sed 's/x86_64-linux-thread-multi/%{_arch}-linux/')
6
+
5 7
 # According to documentation, module using Coro is just:
6 8
 # A PROOF-OF-CONCEPT IMPLEMENTATION FOR EXPERIMENTATION.
7 9
 # Omit Coro support on bootsrap bacause perl-DBI is pulled in by core
... ...
@@ -11,7 +13,7 @@
11 11
 Summary:        A database access API for perl
12 12
 Name:           perl-DBI
13 13
 Version:        1.641
14
-Release:        1%{?dist}
14
+Release:        2%{?dist}
15 15
 Group:          Development/Libraries
16 16
 License:        GPL+ or Artistic
17 17
 URL:            http://dbi.perl.org/
... ...
@@ -63,8 +65,15 @@ for F in lib/DBI/W32ODBC.pm lib/Win32/DBIODBC.pm; do
63 63
 done
64 64
 
65 65
 %build
66
-perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
67
-make
66
+perl Makefile.PL INSTALLDIRS=vendor AR=%{_host}-ar CC=%{_host}-gcc LD=%{_host}-gcc OPTIMIZE="%{optflags}"
67
+if [ %{_host} != %{_build} ]; then
68
+sed -i 's/x86_64-linux-thread-multi/%{_arch}-linux/' Makefile
69
+sed -i 's/PERL_ARCHLIBDEP = /PERL_ARCHLIBDEP = \/target-%{_arch}/' Makefile
70
+sed -i 's/PERL_INC = /PERL_INC = \/target-%{_arch}/' Makefile
71
+sed -i 's/PERL_INCDEP = /PERL_INCDEP = \/target-%{_arch}/' Makefile
72
+sed -i 's/-L\/usr\/local\/lib//' Makefile
73
+fi
74
+make %{?_smp_mflags}
68 75
 
69 76
 %install
70 77
 make pure_install DESTDIR=%{buildroot}
... ...
@@ -78,14 +87,16 @@ make test
78 78
 %files
79 79
 %{_bindir}/dbipro*
80 80
 %{_bindir}/dbilogstrip
81
-%{perl_vendorarch}/*.p*
82
-%{perl_vendorarch}/DBD/
83
-%{perl_vendorarch}/DBI/
84
-%{perl_vendorarch}/auto/DBI/
81
+%{perl_vendorarchdir}/*.p*
82
+%{perl_vendorarchdir}/DBD/
83
+%{perl_vendorarchdir}/DBI/
84
+%{perl_vendorarchdir}/auto/DBI/
85 85
 %{_mandir}/man1/*.1*
86 86
 %{_mandir}/man3/*.3*
87 87
 
88 88
 %changelog
89
+*   Fri Nov 09 2018 Alexey Makhalov <amakhalov@vmware.com> 1.641-2
90
+-   Cross compilation support
89 91
 *   Fri Sep 21 2018 Dweep Advani <dadvani@vmware.com> 1.641-1
90 92
 -   Update to version 1.641
91 93
 *   Mon Apr 3 2017 Robert Qi <qij@vmware.com> 1.636-1
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        rcpsvc protocol.x files and headers
2 2
 Name:           rpcsvc-proto
3 3
 Version:        1.4
4
-Release:        1%{?dist}
4
+Release:        2%{?dist}
5 5
 Source0:        https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4/rpcsvc-proto-1.4.tar.gz
6 6
 %define sha1    rpcsvc=01267dbc7d999c4ffdda1f69532e1f8331489b5f
7 7
 License:        LGPLv2+
... ...
@@ -9,6 +9,7 @@ Group:          System Environment/Libraries
9 9
 URL:            https://github.com/thkukuk/rpcsvc-proto
10 10
 Vendor:         VMware, Inc.
11 11
 Distribution:   Photon
12
+%define BuildRequiresNative rpcsvc-proto
12 13
 
13 14
 %description
14 15
 The rpcsvc-proto package contains the rcpsvc protocol.x files and headers,
... ...
@@ -27,6 +28,10 @@ This package includes header files and libraries necessary for developing progra
27 27
 %setup -q
28 28
 
29 29
 %build
30
+if [ %{_host} != %{_build} ]; then
31
+  # use native rpcgen
32
+  sed -i 's#$(top_builddir)/rpcgen/##' rpcsvc/Makefile.am
33
+fi
30 34
 autoreconf -fi
31 35
 %configure
32 36
 make %{?_smp_mflags}
... ...
@@ -42,5 +47,7 @@ make install DESTDIR=%{buildroot}
42 42
 %{_includedir}/rpcsvc/*
43 43
 
44 44
 %changelog
45
+* Thu Nov 15 2018 Alexey Makhalov <amakhalov@vmware.com> 1.4-2
46
+- Cross compilation support
45 47
 * Fri Sep 21 2018 Alexey Makhalov <amakhalov@vmware.com> 1.4-1
46 48
 - Initial version
... ...
@@ -1,9 +1,11 @@
1 1
 Summary:	TCP/IP daemon wrapper package
2 2
 Name:		tcp_wrappers
3 3
 Version:	7.6
4
-Release:	5%{?dist}
4
+Release:	6%{?dist}
5 5
 License: 	BSD
6 6
 Group: 		System Environment/Networking
7
+Vendor:		VMware, Inc.
8
+Distribution: 	Photon
7 9
 URL: 		ftp://ftp.porcupine.org/pub/security/index.html
8 10
 Source0: 	ftp://ftp.porcupine.org/pub/security/%{name}_%{version}.tar.gz
9 11
 %define sha1 tcp_wrappers=61689ec85b80f4ca0560aef3473eccd9e9e80481
... ...
@@ -13,7 +15,7 @@ BuildRequires:  libnsl-devel
13 13
 Requires:       libnsl
14 14
 
15 15
 %description
16
-The TCP Wrapper package provides daemon wrapper programs that report the name of the client requesting network services and the requested service. 
16
+The TCP Wrapper package provides daemon wrapper programs that report the name of the client requesting network services and the requested service.
17 17
 
18 18
 %package devel
19 19
 Summary:	The libraries and header files needed for tcp_wrappers development.
... ...
@@ -28,16 +30,16 @@ The libraries and header files needed for tcp_wrappers development.
28 28
 %patch0 -p1
29 29
 
30 30
 %build
31
-sed -i -e "s,^extern char \*malloc();,/* & */," scaffold.c &&
32
-sed -i 's/-O2/-O2 -DUSE_GETDOMAIN/g' Makefile &&
33
-make REAL_DAEMON_DIR=%{_sbindir} STYLE=-DPROCESS_OPTIONS linux
31
+sed -i -e "s,^extern char \*malloc();,/* & */," scaffold.c
32
+sed -i 's/-O2/-O2 -DUSE_GETDOMAIN/g' Makefile
33
+make REAL_DAEMON_DIR=%{_sbindir} STYLE=-DPROCESS_OPTIONS CC=%{_host}-gcc linux
34 34
 
35 35
 %install
36 36
 mkdir -p %{buildroot}%{_libdir}
37 37
 mkdir -p %{buildroot}%{_sbindir}
38 38
 mkdir -p %{buildroot}%{_mandir}/man{3,5,8}
39 39
 mkdir -p %{buildroot}%{_includedir}
40
-make DESTDIR=%{buildroot} install 
40
+make DESTDIR=%{buildroot} install
41 41
 
42 42
 %post	-p /sbin/ldconfig
43 43
 %postun	-p /sbin/ldconfig
... ...
@@ -57,6 +59,8 @@ make DESTDIR=%{buildroot} install
57 57
 %{_includedir}/*.h
58 58
 
59 59
 %changelog
60
+* Thu Nov 15 2018 Alexey Makhalov <amakhalov@vmware.com> 7.6-6
61
+- Cross compilation support
60 62
 * Tue Sep 25 2018 Alexey Makhalov <amakhalov@vmware.com> 7.6-5
61 63
 - Use libnsl
62 64
 * Mon Sep 18 2017 Dheeraj Shetty <dheerajs@vmware.com> 7.6-4