Notification time stamped 2022-04-01 03:06:02 UTC
From 61472899925990a26e0ad2b34a358f0996c9928b Mon Sep 17 00:00:00 2001
From: Andrew John Hughes <gnu_andrew(a)member.fsf.org>
Date: Feb 14 2022 16:53:12 +0000
Subject: Pass LDFLAGS to the build so RPM linker flags are used and annocheck passes.
Add patch from upstream to fix propagation of LDFLAGS into build system.
---
diff --git a/lua-posix.spec b/lua-posix.spec
index a7d2c8c..1e791c2 100644
--- a/lua-posix.spec
+++ b/lua-posix.spec
@@ -6,7 +6,7 @@
Name: lua-posix
Version: 35.0
-Release: 5%{?dist}
+Release: 6%{?dist}
Summary: A POSIX library for Lua
License: MIT
URL:
http://luaforge.net/projects/luaposix/
@@ -15,15 +15,20 @@ BuildRequires: gcc
BuildRequires: lua-devel
%{?lua_requires}
+# Fixes passing LDFLAGS into the build, in upstream release 35.1
+#
https://github.com/luaposix/luaposix/commit/4788eba65956aa9347bbb5856c920...
+Patch0: propagate_ldflags.patch
+
%description
This is a POSIX library for Lua which provides access to many POSIX features
to Lua programs.
%prep
%setup -q -n luaposix-%{version}
+%patch0 -p1
%build
-build-aux/luke CFLAGS="%build_cflags"
+build-aux/luke CFLAGS="%build_cflags" LDFLAGS="%build_ldflags"
%install
@@ -42,6 +47,10 @@ build-aux/luke install PREFIX=%{buildroot}%{_prefix}
INST_LIBDIR=%{buildroot}%{l
%changelog
+* Mon Feb 14 2022 Andrew Hughes <gnu.andrew(a)redhat.com> - 35.0-6
+- Pass LDFLAGS to the build so RPM linker flags are used and annocheck passes.
+- Add patch from upstream to fix propagation of LDFLAGS into build system.
+
* Thu Jan 20 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 35.0-5
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
diff --git a/propagate_ldflags.patch b/propagate_ldflags.patch
new file mode 100644
index 0000000..aff5ce8
--- /dev/null
+++ b/propagate_ldflags.patch
@@ -0,0 +1,70 @@
+commit 4788eba65956aa9347bbb5856c9208888a20330b
+Author: Gary V. Vaughan <gary(a)gnu.org>
+Date: Thu Sep 9 12:40:55 2021 -0700
+
+ maint: sync luke with upstream.
+
+ * build-aux/luke: Propagates LDFLAGS to module compilation commands
+
+ Signed-off-by: Gary V. Vaughan <gary(a)gnu.org>
+
+diff --git a/build-aux/luke b/build-aux/luke
+index 9f476f7..9d74aa2 100755
+--- a/build-aux/luke
++++ b/build-aux/luke
+@@ -17,10 +17,10 @@ end,fatal=fatal,}
+ end
+ package.preload['luke.cli']=function()
+ local
_ENV=require'std.normalize'{'luke._base','luke.lukefile','luke.platforms','std.functional',}local
function version()print[[
+-luke (Luke) 0.2.0
++luke (Luke) 0.2.2
+ Written by Gary V. Vaughan <gary(a)gnu.org>, 2014
+
+-Copyright (C) 2020, Gary V. Vaughan
++Copyright (C) 2021, Gary V. Vaughan
+ Luke comes with ABSOLUTELY NO WARRANTY.
+ You may redistribute copies of Luke under the terms of the MIT license;
+ it may be used for any purpose at absolutely no cost, without permission.
+@@ -102,7 +102,7 @@ abspath=abspath..'.lua'return
src,(gsub(abspath,'/[^/]+%.lua$',''))end
+ local function module_to_path(module,sources,objdir)return
dropuntil(sources,function(source)return
case(source,{['.*%.[ch]']=bind(c_source,{module,objdir}),['(.*%.[ch])%.in']=bind(c_source,{module,objdir}),['.*%.lua']=bind(lua_source,{module}),['(.*%.lua)%.in']=bind(lua_source,{module}),function(src)fatal("unsupported
source type '%s'",src)end,})end)end
+ return{build_c_module=function(L,env,luke,name)local rules=luke.modules[name]local
c_module=c_module_path(luke.variables.objdir,name)local
command={'$MAKEDIRS',dirname(c_module)}local
status,err,out=spawn(env,unpack(command))if status~=0 then
+ stdout:write(concat(command,'
')..'\n')stderr:write(err..'\n')exit(status)end
+-return run(L,env,flatten('$CC $CFLAGS $LIBFLAG $PKGFLAGS
$CPPFLAGS',defines(env,except(list(rules.defines,luke.defines),nil)),incdirs(rules.incdirs,luke.incdirs),rules.sources,'-o',c_module,libdirs(rules.libdirs,luke.libdirs),'$LIBS',rules.libraries,luke.libraries))end,c_modules=function(modules)return
filter(keys(modules),function(name)return
dropuntil(modules[name].sources,bind(match,{[2]='%.[ch]$'}))end)end,incdirs=incdirs,install_modules=function(L,env,luke,modules)return
reduce(keys(modules),0,function(status,name)if status==0 then
++return run(L,env,flatten('$CC $CFLAGS $LIBFLAG $PKGFLAGS
$CPPFLAGS',defines(env,except(list(rules.defines,luke.defines),nil)),incdirs(rules.incdirs,luke.incdirs),rules.sources,'-o',c_module,'$LDFLAGS',libdirs(rules.libdirs,luke.libdirs),'$LIBS',rules.libraries,luke.libraries))end,c_modules=function(modules)return
filter(keys(modules),function(name)return
dropuntil(modules[name].sources,bind(match,{[2]='%.[ch]$'}))end)end,incdirs=incdirs,install_modules=function(L,env,luke,modules)return
reduce(keys(modules),0,function(status,name)if status==0 then
+ local src,dir=module_to_path(name,modules[name].sources,luke.variables.objdir)if not
exists(interpolate(env,dir))then
+ status=run(L,env,{'$MAKEDIRS',dir})end
+ if status==0 then
+@@ -135,6 +135,15 @@ return with(File(progpath,'r'),function(h)return h and
isfile(h.context)and prog
+ end)end)L.log(found and'found '..found or prog..' not found')return
found~=nil
+ end
+ local function check_header_compile(L,env,config,header,extra_hdrs)return
with(CTest(),function(conftest)conftest:write(format('%s\n#include
"%s"\n',extra_hdrs,header))return
logspawn(L,env,compile_command(L,env,config,conftest.filename))end)end
++local function
check_struct_member_compile(L,env,config,structname,member,extra_hdrs)return
with(CTest(),function(conftest)conftest:write(format([[
++%s
++int main () {
++static %s aggr;
++if (sizeof aggr.%s)
++ return 0;
++return 0;
++}
++]],extra_hdrs,structname,member))return
logspawn(L,env,compile_command(L,env,config,conftest.filename))end)end
+ local function try_link(L,env,config,lib,symbol)return
with(CTest(),TmpFile(),function(conftest,a_out)conftest:write(format([[
+ /* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+@@ -225,7 +234,7 @@ end
+ CONFIGENV.libs=lib..CONFIGENV.libs
+ end
+ return found_library(L,lib)end
+-end)or call(function()L.verbose'\n'fatal("required symbol '%s' not
found in any of libc, lib%s",symbol,concat(libraries,',
lib'))end)end},{checkfunc=function(L,env,config)checking(L,'for',config.checkfunc)return
found_result(L,check_func_link(L,env,config,config.checkfunc))end}),{__call=function(self,L,env,config,prefix)return
case(type(config),{['number']=function()return
str(config)end,['string']=function()return config
++end)or call(function()L.verbose'\n'fatal("required symbol '%s' not
found in any of libc, lib%s",symbol,concat(libraries,',
lib'))end)end},{checkfunc=function(L,env,config)checking(L,'for',config.checkfunc)return
found_result(L,check_func_link(L,env,config,config.checkfunc))end},{checkmember=function(L,env,config)checking(L,'for',config.checkmember)local
extra_hdrs=concat(format_includes(config.includes),'\n')local
i=find(config.checkmember,'%.')local structname=sub(config.checkmember,1,i-1)local
member=sub(config.checkmember,i+1)return
found_result(L,check_struct_member_compile(L,env,config,structname,member,extra_hdrs))end}),{__call=function(self,L,env,config,prefix)return
case(type(config),{['number']=function()return
str(config)end,['string']=function()return config
+ end,['table']=function()return dropuntil(self,function(fname)if
config[fname]~=nil then
+ add_external_deps(env,config,prefix)return apply(self[fname],list(L,env,config))end
+ end)or fatal("unable to configure with keys
'%s'",concat(keys(config),"',
'"))end,function(type)fatal("unsupported configure type
'%s'",type)end,})end,})return{config_compiler=function(L,env)local CC=env.CC
+@@ -588,7 +597,7 @@ end
+ return setmetatable({append=function(seq,v)local n=(int(seq.n)or len(seq))+1
+ seq.n,seq[n]=n,v
+ return seq
+-end,arg=arg,assert=assert,char=string.char,close=io.close,concat=concat,copy=copy,dirsep=dirsep,exit=os.exit,format=string.format,getenv=os.getenv,getmetatable=getmetatable,getmetamethod=getmetamethod,gmatch=string.gmatch,gsub=string.gsub,int=int,iscallable=iscallable,len=len,lines=io.lines,list=pack,loadstring=loadstring,match=string.match,maxn=function(iterable)local
n=0
++end,arg=arg,assert=assert,char=string.char,close=io.close,concat=concat,copy=copy,dirsep=dirsep,exit=os.exit,find=string.find,format=string.format,getenv=os.getenv,getmetatable=getmetatable,getmetamethod=getmetamethod,gmatch=string.gmatch,gsub=string.gsub,int=int,iscallable=iscallable,len=len,lines=io.lines,list=pack,loadstring=loadstring,match=string.match,maxn=function(iterable)local
n=0
+ for k,v in next,iterable or{}do
+ local i=int(k)if i and i>n then
+ n=i
https://src.fedoraproject.org/rpms/lua-posix/c/61472899925990a26e0ad2b34a...