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
Vladislav
eepm
Commits
e57e978a
Commit
e57e978a
authored
Aug 04, 2013
by
Vitaly Lipatov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
commit packed version
parent
5e650a55
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
159 additions
and
92 deletions
+159
-92
epm.sh
packed/epm.sh
+142
-90
serv.sh
packed/serv.sh
+17
-2
No files found.
packed/epm.sh
View file @
e57e978a
...
@@ -105,7 +105,7 @@ showcmd()
...
@@ -105,7 +105,7 @@ showcmd()
docmd
()
docmd
()
{
{
showcmd
"
$@
"
showcmd
"
$@
$EXTRA_SHOWDOCMD
"
"
$@
"
"
$@
"
}
}
...
@@ -137,6 +137,18 @@ sudocmd_foreach()
...
@@ -137,6 +137,18 @@ sudocmd_foreach()
done
done
}
}
get_firstarg
()
{
echo
-n
"
$1
"
}
get_lastarg
()
{
local
lastarg
eval
lastarg
=
\$
{
$#}
echo
-n
"
$lastarg
"
}
filter_strip_spaces
()
filter_strip_spaces
()
{
{
...
@@ -267,6 +279,9 @@ case $DISTRNAME in
...
@@ -267,6 +279,9 @@ case $DISTRNAME in
SUSE|SLED|SLES
)
SUSE|SLED|SLES
)
CMD
=
"zypper-rpm"
CMD
=
"zypper-rpm"
;;
;;
ForesightLinux|rPathLinux
)
CMD
=
"conary"
;;
Windows
)
Windows
)
CMD
=
"chocolatey"
CMD
=
"chocolatey"
;;
;;
...
@@ -495,7 +510,10 @@ case $PMTYPE in
...
@@ -495,7 +510,10 @@ case $PMTYPE in
# sudocmd urpme --auto-orphans
# sudocmd urpme --auto-orphans
# ;;
# ;;
zypper-rpm
)
zypper-rpm
)
sudocmd zypper verify
||
exit
sudocmd zypper verify
;;
conary
)
sudocmd conary verify
;;
;;
*
)
*
)
fatal
"Have no suitable command for
$PMTYPE
"
fatal
"Have no suitable command for
$PMTYPE
"
...
@@ -506,88 +524,30 @@ esac
...
@@ -506,88 +524,30 @@ esac
# File bin/epm-checkpkg:
# File bin/epm-checkpkg:
check_rpm_integrity
()
{
docmd rpm
--checksig
$@
}
check_deb_integrity
()
{
# FIXME: debsums -ca package ?
docmd dpkg
--contents
$@
}
check_bz2_integrity
()
{
docmd bunzip
-t
$1
}
check_tbz_integrity
()
{
check_bz2_integrity
$@
}
check_gz_integrity
()
{
docmd
gunzip
-t
$1
}
check_tgz_integrity
()
{
check_gz_integrity
$@
}
check_zip_integrity
()
{
docmd unzip
-t
$@
}
check_rar_integrity
()
{
docmd unrar t
$@
}
check_xz_integrity
()
{
docmd xz
-t
$1
}
check_7z_integrity
()
{
docmd 7z t
$1
}
check_exe_integrity
()
{
# skip
true
}
check_ebuild_integrity
()
{
# skip
true
}
check_pkg_integrity
()
check_pkg_integrity
()
{
{
local
EXT
=
`
echo
"
$1
"
|
sed
-e
"s|.*
\.\(
[a-z0-9]*
\)\$
|
\1
|g"
`
local
EXT
=
`
echo
"
$1
"
|
sed
-e
"s|.*
\.\(
[a-z0-9]*
\)\$
|
\1
|g"
`
local
PKG
=
"
$1
"
local
PKG
=
"
$1
"
local
RET
local
RET
# TODO: Попробовать здесь оставить возможность перегрузки функций
case
$EXT
in
case
$EXT
in
rpm
)
rpm
)
docmd rpm
--checksig
$
1
docmd rpm
--checksig
$
PKG
;;
;;
deb
)
deb
)
# FIXME: debsums -ca package ?
# FIXME: debsums -ca package ?
docmd dpkg
--contents
$1
>
/dev/null
&&
echo
"Package
$1
is correct."
docmd dpkg
--contents
$PKG
>
/dev/null
&&
echo
"Package
$PKG
is correct."
;;
exe
)
true
;;
;;
bz2
)
ebuild
)
docmd bunzip
-t
$1
true
;;
;;
*
)
*
)
check_
${
EXT
}
_integrity
"
$PKG
"
||
fatal
"Unknown package extension '
$EXT
' in
$PKG
package"
docmd erc
test
"
$PKG
"
&&
return
which erc
>
/dev/null 2>/dev/null
&&
fatal
"Check failed"
fatal
"Install erc package."
;;
;;
esac
esac
}
}
...
@@ -612,6 +572,7 @@ esac
...
@@ -612,6 +572,7 @@ esac
epm_checkpkg
()
epm_checkpkg
()
{
{
if
[
-n
"
$pkg_names
"
]
;
then
if
[
-n
"
$pkg_names
"
]
;
then
echo
"Suggest
$pkg_names
are names of installed packages"
__epm_check_installed_pkg
$pkg_names
__epm_check_installed_pkg
$pkg_names
return
return
fi
fi
...
@@ -706,6 +667,9 @@ __epm_filelist_name()
...
@@ -706,6 +667,9 @@ __epm_filelist_name()
zypper-rpm
)
zypper-rpm
)
CMD
=
"rpm -ql"
CMD
=
"rpm -ql"
;;
;;
conary
)
CMD
=
"conary query --ls"
;;
pacman
)
pacman
)
docmd pacman
-Ql
$pkg_names
|
sed
-e
"s|.* ||g"
docmd pacman
-Ql
$pkg_names
|
sed
-e
"s|.* ||g"
return
return
...
@@ -786,6 +750,10 @@ case $PMTYPE in
...
@@ -786,6 +750,10 @@ case $PMTYPE in
# FIXME: --version=
# FIXME: --version=
docmd npackdcl info
--package
=
$pkg_names
docmd npackdcl info
--package
=
$pkg_names
;;
;;
conary
)
is_installed
$pkg_names
&&
docmd conary query
$pkg_names
--info
&&
return
docmd conary repquery
$pkg_names
--info
;;
slackpkg
)
slackpkg
)
docmd /usr/sbin/slackpkg info
$pkg_names
docmd /usr/sbin/slackpkg info
$pkg_names
;;
;;
...
@@ -901,6 +869,9 @@ epm_install_names()
...
@@ -901,6 +869,9 @@ epm_install_names()
mpkg
)
mpkg
)
sudocmd mpkg
install
$@
sudocmd mpkg
install
$@
return
;;
return
;;
conary
)
sudocmd conary update
$@
return
;;
npackd
)
npackd
)
# FIXME: correct arg
# FIXME: correct arg
__separate_sudocmd_foreach
"npackdcl add --package="
"npackdcl update --package="
$@
__separate_sudocmd_foreach
"npackdcl add --package="
"npackdcl update --package="
$@
...
@@ -1301,6 +1272,9 @@ case $PMTYPE in
...
@@ -1301,6 +1272,9 @@ case $PMTYPE in
CMD
=
"npackdcl list --status=installed"
CMD
=
"npackdcl list --status=installed"
# TODO: use search if pkg_filenames is not empty
# TODO: use search if pkg_filenames is not empty
;;
;;
conary
)
CMD
=
"conary query"
;;
slackpkg
)
slackpkg
)
CMD
=
"ls -1 /var/log/packages/"
CMD
=
"ls -1 /var/log/packages/"
if
[
-n
"
$short
"
]
;
then
if
[
-n
"
$short
"
]
;
then
...
@@ -1366,7 +1340,7 @@ case $PMTYPE in
...
@@ -1366,7 +1340,7 @@ case $PMTYPE in
CMD
=
"apt-cache depends"
CMD
=
"apt-cache depends"
fi
fi
;;
;;
urpm-rpm|zypper-rpm
)
urpm-rpm|zypper-rpm
|yum-rpm
)
if
is_installed
$pkg_names
;
then
if
is_installed
$pkg_names
;
then
CMD
=
"rpm -q --provides"
CMD
=
"rpm -q --provides"
else
else
...
@@ -1488,7 +1462,11 @@ __epm_query_name()
...
@@ -1488,7 +1462,11 @@ __epm_query_name()
[
-n
"
$short
"
]
&&
CMD
=
"dpkg-query -W --showformat=
\$
{Package}
\n
"
[
-n
"
$short
"
]
&&
CMD
=
"dpkg-query -W --showformat=
\$
{Package}
\n
"
;;
;;
npackd
)
npackd
)
CMD
=
"npackdcl path --package=
$@
"
docmd
"npackdcl path --package=
$@
"
return
;;
conary
)
CMD
=
"conary query"
;;
;;
brew
)
brew
)
warning
"fix query"
warning
"fix query"
...
@@ -1594,6 +1572,9 @@ __do_query()
...
@@ -1594,6 +1572,9 @@ __do_query()
pacman
)
pacman
)
CMD
=
"pacman -Qo"
CMD
=
"pacman -Qo"
;;
;;
conary
)
CMD
=
"conary query --path"
;;
slackpkg
)
slackpkg
)
# note: need remove leading slash for grep
# note: need remove leading slash for grep
docmd
grep
-R
--
"
$(
echo
$@
|
sed
-e
's|^/\+||g'
)
"
/var/log/packages |
sed
-e
"s|/var/log/packages/||g"
docmd
grep
-R
--
"
$(
echo
$@
|
sed
-e
's|^/\+||g'
)
"
/var/log/packages |
sed
-e
"s|/var/log/packages/||g"
...
@@ -1667,8 +1648,11 @@ epm_query_file()
...
@@ -1667,8 +1648,11 @@ epm_query_file()
epm_query_package
()
epm_query_package
()
{
{
#showcmd grep --color "$pkg_filenames"
[
-n
"
$pkg_filenames
"
]
||
fatal
"Please, use search with some argument"
pkg_filenames
=
epm_packages |
grep
--color
--
"
$pkg_filenames
"
# FIXME: do it better
local
MGS
=
$(
eval
__epm_search_make_grep
$quoted_args
)
EXTRA_SHOWDOCMD
=
$MGS
eval
"pkg_filenames= epm_packages
\"
$(
eval
get_firstarg
$quoted_args
)
\"
$MGS
"
}
}
# File bin/epm-reinstall:
# File bin/epm-reinstall:
...
@@ -1685,7 +1669,7 @@ epm_reinstall_names()
...
@@ -1685,7 +1669,7 @@ epm_reinstall_names()
sudocmd dnf reinstall
$@
sudocmd dnf reinstall
$@
return
;;
return
;;
slackpkg
)
slackpkg
)
sudocmd
/usr/sbin/slackpkg reinstall
$@
sudocmd
_foreach
"/usr/sbin/slackpkg reinstall"
$@
return
;;
return
;;
esac
esac
...
@@ -1706,7 +1690,7 @@ epm_reinstall_files()
...
@@ -1706,7 +1690,7 @@ epm_reinstall_files()
sudocmd dpkg
-i
$@
sudocmd dpkg
-i
$@
return
;;
return
;;
slackpkg
)
slackpkg
)
sudocmd
/sbin/installpkg
$@
sudocmd
_foreach
"/sbin/installpkg"
$@
return
;;
return
;;
esac
esac
...
@@ -1737,6 +1721,7 @@ epm_release_upgrade()
...
@@ -1737,6 +1721,7 @@ epm_release_upgrade()
docmd epm
install
apt rpm
docmd epm
install
apt rpm
showcmd
"TODO: change repo"
showcmd
"TODO: change repo"
docmd epm Upgrade
docmd epm Upgrade
docmd epm update-kernel
;;
;;
apt-dpkg
)
apt-dpkg
)
sudocmd
do
-release-upgrade
-d
sudocmd
do
-release-upgrade
-d
...
@@ -1768,6 +1753,9 @@ epm_release_upgrade()
...
@@ -1768,6 +1753,9 @@ epm_release_upgrade()
pacman
)
pacman
)
epm Upgrade
epm Upgrade
;;
;;
conary
)
epm Upgrade
;;
*
)
*
)
fatal
"Have no suitable command for
$PMTYPE
"
fatal
"Have no suitable command for
$PMTYPE
"
;;
;;
...
@@ -1841,6 +1829,9 @@ epm_remove_names()
...
@@ -1841,6 +1829,9 @@ epm_remove_names()
mpkg
)
mpkg
)
sudocmd mpkg remove
$@
sudocmd mpkg remove
$@
return
;;
return
;;
conary
)
sudocmd conary erase
$@
return
;;
npackd
)
npackd
)
sudocmd npackdcl remove
--package
=
$@
sudocmd npackdcl remove
--package
=
$@
return
;;
return
;;
...
@@ -2095,12 +2086,10 @@ esac
...
@@ -2095,12 +2086,10 @@ esac
# File bin/epm-search:
# File bin/epm-search:
__epm_search_output
()
epm_search
()
{
{
local
CMD
local
CMD
[
-n
"
$pkg_filenames
"
]
||
fatal
"Run search without names"
local
string
=
"
$1
"
case
$PMTYPE
in
case
$PMTYPE
in
apt-rpm|apt-dpkg
)
apt-rpm|apt-dpkg
)
CMD
=
"apt-cache search"
CMD
=
"apt-cache search"
...
@@ -2132,8 +2121,11 @@ case $PMTYPE in
...
@@ -2132,8 +2121,11 @@ case $PMTYPE in
mpkg
)
mpkg
)
CMD
=
"mpkg search"
CMD
=
"mpkg search"
;;
;;
conary
)
CMD
=
"conary repquery"
;;
npackd
)
npackd
)
docmd npackdcl search
--query
=
"
$
pkg_filenames
"
--status
=
all
docmd npackdcl search
--query
=
"
$
string
"
--status
=
all
return
return
;;
;;
chocolatey
)
chocolatey
)
...
@@ -2141,9 +2133,8 @@ case $PMTYPE in
...
@@ -2141,9 +2133,8 @@ case $PMTYPE in
;;
;;
slackpkg
)
slackpkg
)
# FIXME
# FIXME
echo
"FIXME: need case insensitive search"
echo
"Note: case sensitive search"
docmd_foreach
"/usr/sbin/slackpkg search"
$pkg_filenames
CMD
=
"/usr/sbin/slackpkg search"
return
;;
;;
homebrew
)
homebrew
)
CMD
=
"brew search"
CMD
=
"brew search"
...
@@ -2153,8 +2144,41 @@ case $PMTYPE in
...
@@ -2153,8 +2144,41 @@ case $PMTYPE in
;;
;;
esac
esac
docmd
$CMD
$pkg_filenames
docmd
$CMD
$string
}
__epm_search_make_grep
()
{
local
i
[
-z
"
$*
"
]
&&
return
local
list
=
local
listN
=
for
i
in
$@
;
do
local
NOR
=
"
${
i
/^/
}
"
[
"
$NOR
"
=
"
$i
"
]
&&
list
=
"
$list
$NOR
"
||
listN
=
"
$listN
$NOR
"
done
#list=$(strip_spaces $list | sed -e "s/ /|/g")
listN
=
$(
strip_spaces
$listN
|
sed
-e
"s/ /|/g"
)
[
-n
"
$listN
"
]
&&
echo
-n
" | egrep -i -v --
\"
$listN
\"
"
# FIXME: The World has not idea how to do grep both string
# http://stackoverflow.com/questions/10110051/grep-with-two-strings-logical-and-in-regex?rq=1
for
i
in
$list
;
do
echo
-n
" | egrep -i --color --
\"
$i
\"
"
done
}
epm_search
()
{
[
-n
"
$pkg_filenames
"
]
||
fatal
"Please, use search with some argument"
# FIXME: do it better
local
MGS
=
$(
eval
__epm_search_make_grep
$quoted_args
)
EXTRA_SHOWDOCMD
=
"
$MGS
"
eval
"__epm_search_output
\"
$(
eval
get_firstarg
$quoted_args
)
\"
$MGS
"
}
}
# File bin/epm-search_file:
# File bin/epm-search_file:
...
@@ -2440,6 +2464,9 @@ epm_upgrade()
...
@@ -2440,6 +2464,9 @@ epm_upgrade()
emerge
)
emerge
)
CMD
=
"emerge -NuDa world"
CMD
=
"emerge -NuDa world"
;;
;;
conary
)
CMD
=
"conary updateall"
;;
pkgsrc
)
pkgsrc
)
CMD
=
"freebsd-update fetch install"
CMD
=
"freebsd-update fetch install"
;;
;;
...
@@ -2501,7 +2528,27 @@ case $PMTYPE in
...
@@ -2501,7 +2528,27 @@ case $PMTYPE in
;;
;;
esac
esac
[
-n
"
$pkg_names
"
]
&&
docmd
$CMD
$pkg_names
docmd
$CMD
$pkg_names
}
# File bin/epm-whatprovides:
epm_whatprovides
()
{
local
CMD
[
-n
"
$pkg_names
"
]
||
fatal
"Run query without names"
case
$PMTYPE
in
conary
)
CMD
=
"conary repquery --what-provides"
;;
*
)
fatal
"Have no suitable command for
$PMTYPE
"
;;
esac
docmd
$CMD
$pkg_names
}
}
internal_distr_info
()
internal_distr_info
()
...
@@ -2823,7 +2870,7 @@ $(get_help HELPOPT)
...
@@ -2823,7 +2870,7 @@ $(get_help HELPOPT)
print_version
()
print_version
()
{
{
echo
"EPM package manager version 1.3.
0
"
echo
"EPM package manager version 1.3.
1
"
echo
"Running on
$(
$DISTRVENDOR
)
('
$PMTYPE
' package manager uses '
$PKGFORMAT
' package format)"
echo
"Running on
$(
$DISTRVENDOR
)
('
$PMTYPE
' package manager uses '
$PKGFORMAT
' package format)"
echo
"Copyright (c) Etersoft 2012-2013"
echo
"Copyright (c) Etersoft 2012-2013"
echo
"This program may be freely redistributed under the terms of the GNU AGPLv3."
echo
"This program may be freely redistributed under the terms of the GNU AGPLv3."
...
@@ -2847,6 +2894,7 @@ show_command_only=
...
@@ -2847,6 +2894,7 @@ show_command_only=
epm_cmd
=
epm_cmd
=
pkg_files
=
pkg_files
=
pkg_names
=
pkg_names
=
quoted_args
=
progname
=
"
${
0
##*/
}
"
progname
=
"
${
0
##*/
}
"
...
@@ -2902,7 +2950,7 @@ check_command()
...
@@ -2902,7 +2950,7 @@ check_command()
-i
|
install
|
add
)
# HELPCMD: install package(s) from remote repositories or from local file
-i
|
install
|
add
)
# HELPCMD: install package(s) from remote repositories or from local file
epm_cmd
=
install
epm_cmd
=
install
;;
;;
-e
|
-P
|
remove|delete|uninstall
)
# HELPCMD: remove (delete) package(s) from the database and the system
-e
|
-P
|
remove|delete|uninstall
|erase
)
# HELPCMD: remove (delete) package(s) from the database and the system
epm_cmd
=
remove
epm_cmd
=
remove
;;
;;
-s
|
search
)
# HELPCMD: search in remote package repositories
-s
|
search
)
# HELPCMD: search in remote package repositories
...
@@ -2949,6 +2997,9 @@ check_command()
...
@@ -2949,6 +2997,9 @@ check_command()
whatdepends
)
# HELPCMD: print packages dependences on that
whatdepends
)
# HELPCMD: print packages dependences on that
epm_cmd
=
whatdepends
epm_cmd
=
whatdepends
;;
;;
whatprovides
)
# HELPCMD: print packages provides that target
epm_cmd
=
whatprovides
;;
-qa
|
list|packages|-l
)
# HELPCMD: list of installed package(s)
-qa
|
list|packages|-l
)
# HELPCMD: list of installed package(s)
epm_cmd
=
packages
epm_cmd
=
packages
;;
;;
...
@@ -3057,6 +3108,7 @@ for opt in "$@" ; do
...
@@ -3057,6 +3108,7 @@ for opt in "$@" ; do
else
else
pkg_names
=
"
$pkg_names
$opt
"
pkg_names
=
"
$pkg_names
$opt
"
fi
fi
quoted_args
=
"
$quoted_args
\"
$opt
\"
"
done
done
pkg_files
=
$(
strip_spaces
"
$pkg_files
"
)
pkg_files
=
$(
strip_spaces
"
$pkg_files
"
)
...
...
packed/serv.sh
View file @
e57e978a
...
@@ -103,7 +103,7 @@ showcmd()
...
@@ -103,7 +103,7 @@ showcmd()
docmd
()
docmd
()
{
{
showcmd
"
$@
"
showcmd
"
$@
$EXTRA_SHOWDOCMD
"
"
$@
"
"
$@
"
}
}
...
@@ -135,6 +135,18 @@ sudocmd_foreach()
...
@@ -135,6 +135,18 @@ sudocmd_foreach()
done
done
}
}
get_firstarg
()
{
echo
-n
"
$1
"
}
get_lastarg
()
{
local
lastarg
eval
lastarg
=
\$
{
$#}
echo
-n
"
$lastarg
"
}
filter_strip_spaces
()
filter_strip_spaces
()
{
{
...
@@ -265,6 +277,9 @@ case $DISTRNAME in
...
@@ -265,6 +277,9 @@ case $DISTRNAME in
SUSE|SLED|SLES
)
SUSE|SLED|SLES
)
CMD
=
"zypper-rpm"
CMD
=
"zypper-rpm"
;;
;;
ForesightLinux|rPathLinux
)
CMD
=
"conary"
;;
Windows
)
Windows
)
CMD
=
"chocolatey"
CMD
=
"chocolatey"
;;
;;
...
@@ -966,7 +981,7 @@ $(get_help HELPOPT)
...
@@ -966,7 +981,7 @@ $(get_help HELPOPT)
print_version
()
print_version
()
{
{
echo
"Service manager version 1.3.
0
"
echo
"Service manager version 1.3.
1
"
echo
"Running on
$(
$DISTRVENDOR
)
"
echo
"Running on
$(
$DISTRVENDOR
)
"
echo
"Copyright (c) Etersoft 2012, 2013"
echo
"Copyright (c) Etersoft 2012, 2013"
echo
"This program may be freely redistributed under the terms of the GNU AGPLv3."
echo
"This program may be freely redistributed under the terms of the GNU AGPLv3."
...
...
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