Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
eepm
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
etersoft
eepm
Commits
f8337cb1
Commit
f8337cb1
authored
3 years ago
by
Vitaly Lipatov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
epm-restore: rewrite perl requires without shyaml (via perl Makefile.PL PRINT_PREREQ=1)
parent
47e16eb3
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
63 additions
and
3 deletions
+63
-3
epm-restore
bin/epm-restore
+63
-3
No files found.
bin/epm-restore
View file @
f8337cb1
...
...
@@ -269,11 +269,44 @@ __epm_print_npm_list()
[
-n
"
$dryrun
"
]
||
echo
"
$ilist
"
}
__epm_print_perl_list
()
{
local
reqmacro
=
"
$1
"
local
req_file
=
"
$2
"
local
l
for
l
in
$(
cat
)
;
do
# perl(Class::ErrorHandler)>=0
echo
"
$l
"
|
grep
-q
'^perl('
||
continue
local
name
=
"
$(
echo
"
$l
"
|
sed
-e
's|>=.*||'
-e
's|::|/|g'
-e
's|)|.pm)|'
)
"
[
"
$name
"
=
"perl(perl.pm)"
]
&&
continue
[
-z
"
$name
"
]
&&
continue
local
ver
=
"
$(
echo
"
$l
"
|
sed
-e
's|.*>=||'
)
"
[
-z
"
$name
"
]
&&
continue
if
[
-n
"
$dryrun
"
]
;
then
local
pi
=
''
local
sign
=
''
[
"
$ver
"
=
"0"
]
||
sign
=
" >=
$ver
"
pi
=
"
$pi$reqmacro
$name$sign
"
echo
"
$pi
"
continue
else
local
pi
=
"
$name
"
#echo " $l -> $name -> $pi"
fi
[
-n
"
$name
"
]
||
continue
ilist
=
"
$ilist
$pi
"
done
<
$req_file
[
-n
"
$dryrun
"
]
||
echo
"
$ilist
"
}
__epm_print_perl_list_shyaml
()
{
local
reqmacro
=
"
$1
"
local
req_file
=
"
$2
"
local
l
while
read
l
;
do
# Convert::ASN1: 0.10
echo
"
$l
"
|
grep
-q
'^ *\(.*\): \(.*\)'
||
continue
...
...
@@ -359,11 +392,35 @@ __epm_restore_npm()
docmd epm
install
$ilist
}
# TODO: check
__epm_restore_perl
()
{
local
req_file
=
"
$1
"
if
[
-n
"
$dryrun
"
]
;
then
local
lt
=
$(
mktemp
)
a
=
/usr/bin/perl
$req_file
PRINT_PREREQ
=
1
>
$lt
# all requirements will autodetected during packing, put it to the buildreq
echo
__epm_restore_print_comment
"
$req_file
"
__epm_print_perl_list
"BuildRequires:"
$lt
rm
-f
$lt
return
fi
info
"Install requirements from
$req_file
..."
local
lt
=
$(
mktemp
)
a
=
/usr/bin/perl
$req_file
PRINT_PREREQ
=
1
>
$lt
ilist
=
"
$(
__epm_print_perl_list
""
$lt
)
"
rm
-f
$lt
docmd epm
install
$ilist
}
# disabled
__epm_restore_perl_shyaml
()
{
local
req_file
=
"
$1
"
epm assure shyaml
||
fatal
if
[
-n
"
$dryrun
"
]
;
then
...
...
@@ -426,7 +483,10 @@ __epm_restore_by()
package.json
)
[
-s
"
$req_file
"
]
&&
__epm_restore_npm
"
$req_file
"
;;
META.yml
)
# META.yml)
# [ -s "$req_file" ] && __epm_restore_perl "$req_file"
# ;;
Makefile.PL
)
[
-s
"
$req_file
"
]
&&
__epm_restore_perl
"
$req_file
"
;;
*
.sln|
*
.csproj
)
...
...
@@ -461,7 +521,7 @@ epm_restore()
# if run with empty args
for
i
in
requirements.txt requirements/default.txt requirements_dev.txt requirements-dev.txt requirements/dev.txt dev-requirements.txt
\
requirements-test.txt requirements_test.txt requirements/test.txt test-requirements.txt requirements/coverage.txt
\
Gemfile requires.txt package.json setup.py python_dependencies.py M
ETA.yml
\
Gemfile requires.txt package.json setup.py python_dependencies.py M
akefile.PL
\
*
.sln
*
.csproj
;
do
__epm_restore_by
$i
done
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment