- #!/usr/bin/lua
- print('Please install git before using this lua file!')
- os.execute('rm pkgbuild.list && *.spec')
- function dir_exists(path)
- if type(path) ~= 'string' then
- error('input error')
- return false
- end
- local response = os.execute('cd ' .. path)
- if response == nil then
- return false
- end
- return response
- end
- if dir_exists('packages') then
- print('Warning: Please confirm that the packages folder is the folder for storage ArchLinux file!')
- os.execute('cd packages && proxychains -q git pull origin master')
- else
- os.execute('proxychains -q git clone https://git.archlinux.org/svntogit/packages.git')
- end
- os.execute('find packages/ -name PKGBUILD | grep repos >> pkgbuild.list')
- pkgbuild = io.open('pkgbuild.list', 'r')
- specname = {}
- for names in pkgbuild:lines() do
- local strings = string.match(names, 'packages/([A-Za-z0-9-.]+)') .. '.spec'
- table.insert(specname, strings)
- end
- pkgbuild:close()
- pkgbuild = io.open('pkgbuild.list', 'r')
- addresslist = {}
- for address in pkgbuild:lines() do
- local strings = string.sub(address, 1, -1)
- table.insert(addresslist, strings)
- end
- pkglist = {}
- f = {}
- for i = 1, #addresslist do
- pkglist[i] = io.open(addresslist[i], 'r')
- local content = pkglist[i]:read('*all')
- pkglist[i]:close()
- content = string.gsub(content, '/usr/share/doc', '%%{_docdir}')
- content = string.gsub(content, '/usr/share/man', '%%{_mandir}')
- content = string.gsub(content, '/usr/share/info', '%%{_infodir}')
- content = string.gsub(content, '/usr/share', '%%{_datadir}')
- content = string.gsub(content, '/usr/sbin', '%%{_sbindir}')
- content = string.gsub(content, '/usr/libexec', '%%{_libexecdir}')
- content = string.gsub(content, '/usr/lib', '%%{_libdir}')
- content = string.gsub(content, '/usr/bin', '%%{_bindir}')
- content = string.gsub(content, '/usr/include', '%%{_includedir}')
- content = string.gsub(content, '/usr/src', '%%{_usrsrc}')
- content = string.gsub(content, '/usr', '%%{_prefix}')
- content = string.gsub(content, '/var/lib', '%%{_sharedstatedir}')
- content = string.gsub(content, '/run', '%%{_rundir}')
- content = string.gsub(content, '/var', '%%{_localstatedir}')
- content = string.gsub(content, '/etc', '%%{_sysconfdir}')
- f[i] = io.open(specname[i], 'w')
- f[i]:write(content)
- f[i]:close()
- end
- pkgbuild:close()