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
5000593e
Commit
5000593e
authored
Jun 04, 2014
by
Vitaly Lipatov
Browse files
Options
Browse Files
Download
Plain Diff
backported to p7 as 1.5.4-alt0.M70P.1 (with rpmbph script)
parents
c4ee6403
cd465a9c
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
290 additions
and
47 deletions
+290
-47
Makefile
Makefile
+1
-1
TODO
TODO
+2
-0
epm
bin/epm
+7
-1
epm-audit
bin/epm-audit
+31
-0
epm-autoremove
bin/epm-autoremove
+3
-0
epm-check
bin/epm-check
+4
-1
epm-clean
bin/epm-clean
+3
-0
epm-downgrade
bin/epm-downgrade
+69
-0
epm-filelist
bin/epm-filelist
+3
-0
epm-info
bin/epm-info
+3
-0
epm-install
bin/epm-install
+20
-0
epm-install-emerge
bin/epm-install-emerge
+1
-0
epm-packages
bin/epm-packages
+11
-0
epm-provides
bin/epm-provides
+3
-0
epm-query
bin/epm-query
+5
-0
epm-query_file
bin/epm-query_file
+3
-0
epm-remove
bin/epm-remove
+12
-0
epm-requires
bin/epm-requires
+4
-0
epm-search
bin/epm-search
+3
-0
epm-sh-altlinux
bin/epm-sh-altlinux
+1
-1
epm-sh-functions
bin/epm-sh-functions
+12
-1
epm-update
bin/epm-update
+4
-0
epm-upgrade
bin/epm-upgrade
+3
-0
epm-whatdepends
bin/epm-whatdepends
+3
-0
serv
bin/serv
+3
-0
serv-common
bin/serv-common
+6
-2
serv-list_all
bin/serv-list_all
+1
-1
serv-start
bin/serv-start
+1
-1
serv-status
bin/serv-status
+2
-2
serv-stop
bin/serv-stop
+1
-1
serv-try_restart
bin/serv-try_restart
+1
-1
eepm.spec
eepm.spec
+12
-3
epm.sh
packed/epm.sh
+0
-0
serv.sh
packed/serv.sh
+52
-31
No files found.
Makefile
View file @
5000593e
pkgdatadir
=
$(datadir)
/eepm
pkgdatadir
=
$(datadir)
/eepm
# due using %makeinstallstd in spec
# due using %makeinstallstd in spec
instpkgdatadir
=
/usr/share/eepm
instpkgdatadir
=
$(pkgdatadir)
install
:
install
:
mkdir
-p
$(DESTDIR)$(bindir)
/
mkdir
-p
$(DESTDIR)$(bindir)
/
...
...
TODO
View file @
5000593e
менеджер пакетов из NetBSD — pkgsrc (команды для поиска нужных пакетов – pkgin update; pkgin avail; pkgin search).
Загрузку конфига
Загрузку конфига
Установку пакета по URL
Установку пакета по URL
...
...
bin/epm
View file @
5000593e
...
@@ -235,9 +235,15 @@ check_command()
...
@@ -235,9 +235,15 @@ check_command()
Upgrade
)
# HELPCMD: force update package base, then run upgrade
Upgrade
)
# HELPCMD: force update package base, then run upgrade
epm_cmd
=
Upgrade
epm_cmd
=
Upgrade
;;
;;
downgrade
)
# HELPCMD: downgrade [all] packages to the repo state
epm_cmd
=
downgrade
;;
simulate
)
# HELPCMD: simulate install with check requires
simulate
)
# HELPCMD: simulate install with check requires
epm_cmd
=
simulate
epm_cmd
=
simulate
;;
;;
audit
)
# HELPCMD: audits installed packages against known vulnerabilities
epm_cmd
=
audit
;;
-V
|
checkpkg|integrity
)
# HELPCMD: check package file integrity (checksum)
-V
|
checkpkg|integrity
)
# HELPCMD: check package file integrity (checksum)
epm_cmd
=
checkpkg
epm_cmd
=
checkpkg
;;
;;
...
@@ -318,7 +324,7 @@ done
...
@@ -318,7 +324,7 @@ done
# if input is not console, get pkg from it too
# if input is not console, get pkg from it too
if
!
inputisatty
;
then
if
!
inputisatty
;
then
for
opt
in
$(
timeout
1
cat
)
;
do
for
opt
in
$(
timeout
1
cat
2>/dev/null
)
;
do
check_filenames
$opt
check_filenames
$opt
done
done
fi
fi
...
...
bin/epm-audit
0 → 100644
View file @
5000593e
#!/bin/sh
#
# Copyright (C) 2014 Etersoft
# Copyright (C) 2014 Vitaly Lipatov <lav@etersoft.ru>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
epm_audit
()
{
case
$PMTYPE
in
pkgng
)
sudocmd pkg audit
-F
;;
*
)
fatal
"Have no suitable command for
$PMTYPE
"
;;
esac
}
bin/epm-autoremove
View file @
5000593e
...
@@ -79,6 +79,9 @@ case $PMTYPE in
...
@@ -79,6 +79,9 @@ case $PMTYPE in
guix
)
guix
)
sudocmd guix gc
sudocmd guix gc
;;
;;
pkgng
)
sudocmd pkg autoremove
;;
#zypper-rpm)
#zypper-rpm)
# sudocmd zypper clean
# sudocmd zypper clean
# ;;
# ;;
...
...
bin/epm-check
View file @
5000593e
...
@@ -23,7 +23,7 @@ case $PMTYPE in
...
@@ -23,7 +23,7 @@ case $PMTYPE in
apt-rpm|apt-dpkg
)
apt-rpm|apt-dpkg
)
#sudocmd apt-get check || exit
#sudocmd apt-get check || exit
#sudocmd apt-get update || exit
#sudocmd apt-get update || exit
sudocmd apt-get
-f
install
||
exit
sudocmd apt-get
-f
install
;;
;;
apt-dpkg
)
apt-dpkg
)
#sudocmd apt-get update || exit
#sudocmd apt-get update || exit
...
@@ -56,6 +56,9 @@ case $PMTYPE in
...
@@ -56,6 +56,9 @@ case $PMTYPE in
conary
)
conary
)
sudocmd conary verify
sudocmd conary verify
;;
;;
pkgng
)
sudocmd pkg check
-d
-a
;;
homebrew
)
homebrew
)
sudocmd brew doctor
sudocmd brew doctor
;;
;;
...
...
bin/epm-clean
View file @
5000593e
...
@@ -47,6 +47,9 @@ case $PMTYPE in
...
@@ -47,6 +47,9 @@ case $PMTYPE in
;;
;;
slackpkg
)
slackpkg
)
;;
;;
pkgng
)
sudo
pkg clean
;;
*
)
*
)
fatal
"Have no suitable command for
$PMTYPE
"
fatal
"Have no suitable command for
$PMTYPE
"
;;
;;
...
...
bin/epm-downgrade
0 → 100644
View file @
5000593e
#!/bin/sh
#
# Copyright (C) 2012,2014 Etersoft
# Copyright (C) 2012,2014 Vitaly Lipatov <lav@etersoft.ru>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
load_helper epm-check_updated_repo
__epm_add_apt_downgrade_preferences
()
{
[
-r
/etc/apt/preferences
]
&&
fatal
"/etc/apt/preferences already exists"
cat
<<
EOF
|
$SUDO
tee /etc/apt/preferences
Package: *
Pin: release c=
$1
Pin-Priority: 1001
EOF
}
__epm_remove_apt_downgrade_preferences
()
{
sudocmd
rm
-f
/etc/apt/preferences
}
epm_downgrade
()
{
local
CMD
# it is useful for first time running
update_repo_if_needed
info
"Running command for downgrade packages"
case
$PMTYPE
in
apt-rpm
)
__epm_add_apt_downgrade_preferences classic
||
return
sudocmd apt-get dist-upgrade
__epm_remove_apt_downgrade_preferences
;;
apt-dpkg
)
__epm_add_apt_downgrade_preferences testing
||
return
sudocmd apt-get dist-upgrade
__epm_remove_apt_downgrade_preferences
;;
yum-rpm
)
# can do update repobase automagically
sudocmd yum downgrade
$pkg_filename
;;
urpm-rpm
)
assure_exists urpm-reposync urpm-tools
sudocmd urpm-reposync
-v
;;
*
)
fatal
"Have no suitable command for
$PMTYPE
"
;;
esac
}
bin/epm-filelist
View file @
5000593e
...
@@ -113,6 +113,9 @@ __epm_filelist_name()
...
@@ -113,6 +113,9 @@ __epm_filelist_name()
assure_exists equery
assure_exists equery
CMD
=
"equery files"
CMD
=
"equery files"
;;
;;
pkgng
)
CMD
=
"pkg info -l"
;;
slackpkg
)
slackpkg
)
is_installed
$pkg_names
||
fatal
"Query filelist for non installed packages does not realized"
is_installed
$pkg_names
||
fatal
"Query filelist for non installed packages does not realized"
docmd
awk
'BEGIN{desk=1}{if(/^FILE LIST:$/){desk=0} else if (desk==0) {print}}'
/var/log/packages/
${
pkg_filenames
}*
| less
docmd
awk
'BEGIN{desk=1}{if(/^FILE LIST:$/){desk=0} else if (desk==0) {print}}'
/var/log/packages/
${
pkg_filenames
}*
| less
...
...
bin/epm-info
View file @
5000593e
...
@@ -96,6 +96,9 @@ case $PMTYPE in
...
@@ -96,6 +96,9 @@ case $PMTYPE in
ipkg
)
ipkg
)
docmd ipkg info
$pkg_names
docmd ipkg info
$pkg_names
;;
;;
pkgng
)
docmd pkg info
$pkg_names
;;
homebrew
)
homebrew
)
docmd brew info
$pkg_names
docmd brew info
$pkg_names
;;
;;
...
...
bin/epm-install
View file @
5000593e
...
@@ -106,6 +106,9 @@ epm_install_names()
...
@@ -106,6 +106,9 @@ epm_install_names()
pkgsrc
)
pkgsrc
)
sudocmd pkg_add
-r
$@
sudocmd pkg_add
-r
$@
return
;;
return
;;
pkgng
)
sudocmd pkg
install
$@
return
;;
emerge
)
emerge
)
sudocmd emerge
-uD
$@
sudocmd emerge
-uD
$@
return
;;
return
;;
...
@@ -185,6 +188,9 @@ epm_ni_install_names()
...
@@ -185,6 +188,9 @@ epm_ni_install_names()
pkgsrc
)
pkgsrc
)
sudocmd pkg_add
-r
$@
sudocmd pkg_add
-r
$@
return
;;
return
;;
pkgng
)
sudocmd pkg
install
-y
$@
return
;;
emerge
)
emerge
)
sudocmd emerge
-uD
$@
sudocmd emerge
-uD
$@
return
;;
return
;;
...
@@ -299,6 +305,17 @@ epm_install_files()
...
@@ -299,6 +305,17 @@ epm_install_files()
pkgsrc
)
pkgsrc
)
sudocmd pkg_add
$@
sudocmd pkg_add
$@
return
;;
return
;;
pkgng
)
local
PKGTYPE
=
"
$(
get_package_type
$@
)
"
case
"
$PKGTYPE
"
in
tbz
)
sudocmd pkg_add
$@
;;
*
)
sudocmd pkg add
$@
;;
esac
return
;;
android
)
android
)
sudocmd pm
install
$@
sudocmd pm
install
$@
return
;;
return
;;
...
@@ -336,6 +353,9 @@ epm_print_install_command()
...
@@ -336,6 +353,9 @@ epm_print_install_command()
pkgsrc
)
pkgsrc
)
echo
"pkg_add
$@
"
echo
"pkg_add
$@
"
;;
;;
pkgng
)
echo
"pkg add
$@
"
;;
emerge
)
emerge
)
# need be placed in /usr/portage/packages/somewhere
# need be placed in /usr/portage/packages/somewhere
echo
"emerge --usepkg
$@
"
echo
"emerge --usepkg
$@
"
...
...
bin/epm-install-emerge
View file @
5000593e
...
@@ -55,6 +55,7 @@ __emerge_install_ebuild()
...
@@ -55,6 +55,7 @@ __emerge_install_ebuild()
# copy tarballs
# copy tarballs
local
DDIR
=
/usr/portage/distfiles
local
DDIR
=
/usr/portage/distfiles
# FIXME: use independent dir
[
-d
/var/calculate/remote/distfiles
]
&&
DDIR
=
/var/calculate/remote/distfiles
[
-d
/var/calculate/remote/distfiles
]
&&
DDIR
=
/var/calculate/remote/distfiles
docmd
cp
-f
$TARBALLS
$DDIR
/
||
return
docmd
cp
-f
$TARBALLS
$DDIR
/
||
return
...
...
bin/epm-packages
View file @
5000593e
...
@@ -59,6 +59,17 @@ case $PMTYPE in
...
@@ -59,6 +59,17 @@ case $PMTYPE in
;;
;;
pkgsrc
)
pkgsrc
)
CMD
=
"pkg_info"
CMD
=
"pkg_info"
docmd
$CMD
|
sed
-e
"s| .*||g"
return
;;
pkgng
)
CMD
=
"pkg info -E
$pkg_filenames
"
if
[
-n
"
$short
"
]
;
then
docmd
$CMD
|
sed
-e
"s| .*||g"
|
sed
-e
"s|-[0-9].*||g"
else
docmd
$CMD
|
sed
-e
"s| .*||g"
fi
return
;;
;;
pacman
)
pacman
)
CMD
=
"pacman -Qs
$pkg_filenames
"
CMD
=
"pacman -Qs
$pkg_filenames
"
...
...
bin/epm-provides
View file @
5000593e
...
@@ -72,6 +72,9 @@ case $PMTYPE in
...
@@ -72,6 +72,9 @@ case $PMTYPE in
# yum-rpm)
# yum-rpm)
# CMD="yum deplist"
# CMD="yum deplist"
# ;;
# ;;
pkgng
)
CMD
=
"pkg info -b"
;;
apt-dpkg
)
apt-dpkg
)
# FIXME: need fix for a few names case
# FIXME: need fix for a few names case
if
is_installed
$pkg_names
;
then
if
is_installed
$pkg_names
;
then
...
...
bin/epm-query
View file @
5000593e
...
@@ -146,8 +146,13 @@ __epm_query_name()
...
@@ -146,8 +146,13 @@ __epm_query_name()
warning
"fix query"
warning
"fix query"
return
1
return
1
;;
;;
# TODO: need to print name if exists
#pkgng)
# CMD="pkg info -e"
# ;;
# Note: slackpkg info pkgname
# Note: slackpkg info pkgname
*
)
*
)
# default slow workaround
_query_via_packages_list
$@
_query_via_packages_list
$@
return
return
;;
;;
...
...
bin/epm-query_file
View file @
5000593e
...
@@ -86,6 +86,9 @@ __do_query()
...
@@ -86,6 +86,9 @@ __do_query()
pacman
)
pacman
)
CMD
=
"pacman -Qo"
CMD
=
"pacman -Qo"
;;
;;
pkgng
)
CMD
=
"pkg which"
;;
conary
)
conary
)
CMD
=
"conary query --path"
CMD
=
"conary query --path"
;;
;;
...
...
bin/epm-remove
View file @
5000593e
...
@@ -33,6 +33,9 @@ epm_remove_low()
...
@@ -33,6 +33,9 @@ epm_remove_low()
pkgsrc
)
pkgsrc
)
sudocmd pkg_delete
-r
$@
sudocmd pkg_delete
-r
$@
return
;;
return
;;
pkgng
)
sudocmd pkg delete
-R
$@
return
;;
emerge
)
emerge
)
sudocmd emerge
--unmerge
$@
sudocmd emerge
--unmerge
$@
return
;;
return
;;
...
@@ -69,6 +72,9 @@ epm_remove_names()
...
@@ -69,6 +72,9 @@ epm_remove_names()
pkgsrc
)
# without dependencies
pkgsrc
)
# without dependencies
sudocmd pkg_delete
$@
sudocmd pkg_delete
$@
return
;;
return
;;
pkgng
)
sudocmd pkg delete
-R
$@
return
;;
emerge
)
emerge
)
#sudocmd emerge --unmerge $@
#sudocmd emerge --unmerge $@
sudocmd emerge
-aC
$@
sudocmd emerge
-aC
$@
...
@@ -149,6 +155,9 @@ epm_remove_nonint()
...
@@ -149,6 +155,9 @@ epm_remove_nonint()
slackpkg
)
slackpkg
)
sudocmd /usr/sbin/slackpkg
-batch
=
on
-default_answer
=
yes
remove
$@
sudocmd /usr/sbin/slackpkg
-batch
=
on
-default_answer
=
yes
remove
$@
return
;;
return
;;
pkgng
)
sudocmd pkg delete
-y
-R
$@
return
;;
ipkg
)
ipkg
)
sudocmd ipkg
-force-defaults
remove
$@
sudocmd ipkg
-force-defaults
remove
$@
return
;;
return
;;
...
@@ -168,6 +177,9 @@ epm_print_remove_command()
...
@@ -168,6 +177,9 @@ epm_print_remove_command()
pkgsrc
)
pkgsrc
)
echo
"pkg_delete -r
$@
"
echo
"pkg_delete -r
$@
"
;;
;;
pkgng
)
echo
"pkg delete -R
$@
"
;;
pacman
)
pacman
)
echo
"pacman -R
$@
"
echo
"pacman -R
$@
"
;;
;;
...
...
bin/epm-requires
View file @
5000593e
...
@@ -82,6 +82,10 @@ case $PMTYPE in
...
@@ -82,6 +82,10 @@ case $PMTYPE in
assure_exists equery
assure_exists equery
CMD
=
"equery depgraph"
CMD
=
"equery depgraph"
;;
;;
pkgng
)
#CMD="pkg rquery '%dn-%dv'"
CMD
=
"pkg info -d"
;;
*
)
*
)
fatal
"Have no suitable command for
$PMTYPE
"
fatal
"Have no suitable command for
$PMTYPE
"
;;
;;
...
...
bin/epm-search
View file @
5000593e
...
@@ -40,6 +40,9 @@ case $PMTYPE in
...
@@ -40,6 +40,9 @@ case $PMTYPE in
pkgsrc
)
pkgsrc
)
CMD
=
"pkg_info -x --"
CMD
=
"pkg_info -x --"
;;
;;
pkgng
)
CMD
=
"pkg search -i --"
;;
emerge
)
emerge
)
CMD
=
"emerge --search --"
CMD
=
"emerge --search --"
;;
;;
...
...
bin/epm-sh-altlinux
View file @
5000593e
...
@@ -23,7 +23,7 @@ get_local_alt_contents_index()
...
@@ -23,7 +23,7 @@ get_local_alt_contents_index()
{
{
load_helper epm-repolist
load_helper epm-repolist
epm_repolist |
grep
"rpm
file:/"
|
sed
-e
"s|^rpm
file:||g"
|
while
read
URL ARCH other
;
do
epm_repolist |
grep
"rpm
.*file:/"
|
sed
-e
"s|^rpm.*
file:||g"
|
while
read
URL ARCH other
;
do
test
-d
"
$URL
/
$ARCH
"
||
continue
# fatal "Local mirror is not accessible via $URL/$ARCH"
test
-d
"
$URL
/
$ARCH
"
||
continue
# fatal "Local mirror is not accessible via $URL/$ARCH"
FILE
=
"
$URL
/
$ARCH
/base/contents_index"
FILE
=
"
$URL
/
$ARCH
/base/contents_index"
if
[
-r
"
$FILE
"
]
;
then
if
[
-r
"
$FILE
"
]
;
then
...
...
bin/epm-sh-functions
View file @
5000593e
...
@@ -288,7 +288,9 @@ __get_package_for_command()
...
@@ -288,7 +288,9 @@ __get_package_for_command()
assure_exists
()
assure_exists
()
{
{
load_helper epm-assure
load_helper epm-assure
__epm_assure
"
$1
"
$(
__get_package_for_command
"
$1
"
)
local
package
=
"
$2
"
[
-n
"
$package
"
]
||
package
=
"
$(
__get_package_for_command
"
$1
"
)
"
__epm_assure
"
$1
"
$package
}
}
# improve
# improve
...
@@ -304,6 +306,14 @@ get_package_type()
...
@@ -304,6 +306,14 @@ get_package_type()
echo
"rpm"
echo
"rpm"
return
return
;;
;;
*
.txz
)
echo
"txz"
return
;;
*
.tbz
)
echo
"tbz"
return
;;
*
)
*
)
#fatal "Don't know type of $1"
#fatal "Don't know type of $1"
# return package name for info
# return package name for info
...
@@ -359,6 +369,7 @@ case $DISTRNAME in
...
@@ -359,6 +369,7 @@ case $DISTRNAME in
;;
;;
FreeBSD|NetBSD|OpenBSD|Solaris
)
FreeBSD|NetBSD|OpenBSD|Solaris
)
CMD
=
"pkgsrc"
CMD
=
"pkgsrc"
which pkg 2>/dev/null
>
/dev/null
&&
CMD
=
pkgng
;;
;;
Gentoo
)
Gentoo
)
CMD
=
"emerge"
CMD
=
"emerge"
...
...
bin/epm-update
View file @
5000593e
...
@@ -69,6 +69,10 @@ case $PMTYPE in
...
@@ -69,6 +69,10 @@ case $PMTYPE in
ipkg
)
ipkg
)
sudocmd ipkg update
sudocmd ipkg update
;;
;;
pkgsrc
)
# portsnap extract for the first time?
sudocmd portsnap fetch update
;;
*
)
*
)
fatal
"Have no suitable update command for
$PMTYPE
"
fatal
"Have no suitable update command for
$PMTYPE
"
;;
;;
...
...
bin/epm-upgrade
View file @
5000593e
...
@@ -66,6 +66,9 @@ epm_upgrade()
...
@@ -66,6 +66,9 @@ epm_upgrade()
pkgsrc
)
pkgsrc
)
CMD
=
"freebsd-update fetch install"
CMD
=
"freebsd-update fetch install"
;;
;;
pkgng
)
CMD
=
"pkg upgrade"
;;
chocolatey
)
chocolatey
)
CMD
=
"chocolatey update all"
CMD
=
"chocolatey update all"
;;
;;
...
...
bin/epm-whatdepends
View file @
5000593e
...
@@ -40,6 +40,9 @@ case $PMTYPE in
...
@@ -40,6 +40,9 @@ case $PMTYPE in
assure_exists equery
assure_exists equery
CMD
=
"equery depends -a"
CMD
=
"equery depends -a"
;;
;;
pkgng
)
CMD
=
"pkg info -r"
;;
*
)
*
)
fatal
"Have no suitable command for
$PMTYPE
"
fatal
"Have no suitable command for
$PMTYPE
"
;;
;;
...
...
bin/serv
View file @
5000593e
...
@@ -32,6 +32,8 @@ load_helper()
...
@@ -32,6 +32,8 @@ load_helper()
load_helper epm-sh-functions
load_helper epm-sh-functions
INITDIR
=
/etc/init.d
PATH
=
$PATH
:/sbin:/usr/sbin
PATH
=
$PATH
:/sbin:/usr/sbin
set_sudo
set_sudo
...
@@ -239,6 +241,7 @@ if [ -z "$withoutservicename" ] && [ -z "$service_name" ] ; then
...
@@ -239,6 +241,7 @@ if [ -z "$withoutservicename" ] && [ -z "$service_name" ] ; then
fatal
"Run
$ $progname
--help for get help"
fatal
"Run
$ $progname
--help for get help"
fi
fi
# use common way if the command is unknown
if
[
-z
"
$serv_cmd
"
]
;
then
if
[
-z
"
$serv_cmd
"
]
;
then
serv_cmd
=
common
serv_cmd
=
common
fi
fi
...
...
bin/serv-common
View file @
5000593e
...
@@ -27,14 +27,18 @@ serv_common()
...
@@ -27,14 +27,18 @@ serv_common()
sudocmd service
$SERVICE
"
$@
"
sudocmd service
$SERVICE
"
$@
"
;;
;;
service-initd|service-update
)
service-initd|service-update
)
sudocmd
/etc/init.d
/
$SERVICE
"
$@
"
sudocmd
$INITDIR
/
$SERVICE
"
$@
"
;;
;;
systemd
)
systemd
)
# run init script directly (for nonstandart commands)
if
[
-x
$INITDIR
/
$SERVICE
]
;
then
sudocmd
$INITDIR
/
$SERVICE
"
$@
"
else
sudocmd systemctl
"
$@
"
$SERVICE
sudocmd systemctl
"
$@
"
$SERVICE
fi
;;
;;
*
)
*
)
fatal
"Have no suitable command for
$SERVICETYPE
"
fatal
"Have no suitable command for
$SERVICETYPE
"
;;
;;
esac
esac
}
}
bin/serv-list_all
View file @
5000593e
...
@@ -26,7 +26,7 @@ serv_list_all()
...
@@ -26,7 +26,7 @@ serv_list_all()
sudocmd chkconfig
--list
|
cut
-f1
sudocmd chkconfig
--list
|
cut
-f1
;;
;;
service-initd|service-update
)
service-initd|service-update
)
sudocmd
ls
-1
/etc/init.d/
*
|
sed
-e
"s|/etc/init.d/||g"
|
grep
-v
README
sudocmd
ls
$INITDIR
/
|
grep
-v
README
;;
;;
systemd
)
systemd
)
sudocmd systemctl list-unit-files
$@
sudocmd systemctl list-unit-files
$@
...
...
bin/serv-start
View file @
5000593e
...
@@ -28,7 +28,7 @@ serv_start()
...
@@ -28,7 +28,7 @@ serv_start()
sudocmd service
$SERVICE
start
"
$@
"
sudocmd service
$SERVICE
start
"
$@
"
;;
;;
service-initd|service-update
)
service-initd|service-update
)
sudocmd
/etc/init.d
/
$SERVICE
start
"
$@
"
sudocmd
$INITDIR
/
$SERVICE
start
"
$@
"
;;
;;
systemd
)
systemd
)
sudocmd systemctl start
"
$SERVICE
"
"
$@
"
sudocmd systemctl start
"
$SERVICE
"
"
$@
"
...
...
bin/serv-status
View file @
5000593e
...
@@ -25,7 +25,7 @@ is_service_running()
...
@@ -25,7 +25,7 @@ is_service_running()
$SUDO
service
$1
status
>
/dev/null
$SUDO
service
$1
status
>
/dev/null
;;
;;
service-initd|service-update
)
service-initd|service-update
)
$SUDO
/etc/init.d
/
$1
status
>
/dev/null
$SUDO
$INITDIR
/
$1
status
>
/dev/null
;;
;;
systemd
)
systemd
)
$SUDO
systemctl status
$1
>
/dev/null
$SUDO
systemctl status
$1
>
/dev/null
...
@@ -67,7 +67,7 @@ serv_status()
...
@@ -67,7 +67,7 @@ serv_status()
sudocmd service
$SERVICE
status
"
$@
"
sudocmd service
$SERVICE
status
"
$@
"
;;
;;
service-update
)
service-update
)
sudocmd
/etc/init.d
/
$SERVICE
status
"
$@
"
sudocmd
$INITDIR
/
$SERVICE
status
"
$@
"
;;
;;
systemd
)
systemd
)
sudocmd systemctl status
$SERVICE
"
$@
"
sudocmd systemctl status
$SERVICE
"
$@
"
...
...
bin/serv-stop
View file @
5000593e
...
@@ -28,7 +28,7 @@ serv_stop()
...
@@ -28,7 +28,7 @@ serv_stop()
sudocmd service
$SERVICE
stop
"
$@
"
sudocmd service
$SERVICE
stop
"
$@
"
;;
;;
service-initd|service-update
)
service-initd|service-update
)
sudocmd
/etc/init.d
/
$SERVICE
stop
"
$@
"
sudocmd
$INITDIR
/
$SERVICE
stop
"
$@
"
;;
;;
systemd
)
systemd
)
sudocmd systemctl stop
$SERVICE
"
$@
"
sudocmd systemctl stop
$SERVICE
"
$@
"
...
...
bin/serv-try_restart
View file @
5000593e
...
@@ -32,7 +32,7 @@ serv_try_restart()
...
@@ -32,7 +32,7 @@ serv_try_restart()
;;
;;
service-initd|service-update
)
service-initd|service-update
)
is_service_running
$SERVICE
||
return
0
is_service_running
$SERVICE
||
return
0
sudocmd
/etc/init.d
/
$SERVICE
restart
"
$@
"
sudocmd
$INITDIR
/
$SERVICE
restart
"
$@
"
;;
;;
systemd
)
systemd
)
sudocmd systemctl try-restart
$SERVICE
"
$@
"
sudocmd systemctl try-restart
$SERVICE
"
$@
"
...
...
eepm.spec
View file @
5000593e
# This spec is backported to ALTLinux p7 automatically by rpmbph script. Do not edit it.
# This spec is backported to ALTLinux p7 automatically by rpmbph script. Do not edit it.
#
#
Name: eepm
Name: eepm
Version: 1.5.
2
Version: 1.5.
4
Release: alt0.M70P.1
Release: alt0.M70P.1
Summary: Etersoft EPM package manager
Summary: Etersoft EPM package manager
...
@@ -41,7 +41,7 @@ See detailed description here: http://wiki.etersoft.ru/EPM
...
@@ -41,7 +41,7 @@ See detailed description here: http://wiki.etersoft.ru/EPM
%install
%install
# install to datadir and so on
# install to datadir and so on
%makeinstall version=%version-%release
%makeinstall
_std datadir=%_datadir bindir=%_bindir mandir=%_mandir
version=%version-%release
install -m 0755 packed/epm.sh %buildroot/%_datadir/%name/epm-packed.sh
install -m 0755 packed/epm.sh %buildroot/%_datadir/%name/epm-packed.sh
install -m 0755 packed/serv.sh %buildroot/%_datadir/%name/serv-packed.sh
install -m 0755 packed/serv.sh %buildroot/%_datadir/%name/serv-packed.sh
...
@@ -66,9 +66,18 @@ chmod a+x %buildroot%_datadir/%name/{serv-,epm-}*
...
@@ -66,9 +66,18 @@ chmod a+x %buildroot%_datadir/%name/{serv-,epm-}*
%_sysconfdir/bash_completion.d/cerv
%_sysconfdir/bash_completion.d/cerv
%changelog
%changelog
*
Tue Mar 25 2014 Vitaly Lipatov <lav@altlinux.ru> 1.5.2
-alt0.M70P.1
*
Wed Jun 04 2014 Vitaly Lipatov <lav@altlinux.ru> 1.5.4
-alt0.M70P.1
- backport to ALTLinux p7 (by rpmbph script)
- backport to ALTLinux p7 (by rpmbph script)
* Wed Jun 04 2014 Vitaly Lipatov <lav@altlinux.ru> 1.5.4-alt1
- add initial support for FreeBSD's pkgng
- add audit command for check installed packages against known vulnerabilities
* Wed May 28 2014 Vitaly Lipatov <lav@altlinux.ru> 1.5.3-alt1
- prefer to use init script directly
- introduce downgrade command
- use correct datadir
* Tue Mar 25 2014 Vitaly Lipatov <lav@altlinux.ru> 1.5.2-alt1
* Tue Mar 25 2014 Vitaly Lipatov <lav@altlinux.ru> 1.5.2-alt1
- use repolist for get local repo path
- use repolist for get local repo path
- support --auto for reinstall
- support --auto for reinstall
...
...
packed/epm.sh
View file @
5000593e
This diff is collapsed.
Click to expand it.
packed/serv.sh
View file @
5000593e
...
@@ -108,17 +108,12 @@ echon()
...
@@ -108,17 +108,12 @@ echon()
set_target_pkg_env
()
set_target_pkg_env
()
{
{
[
-n
"
$DISTRNAME
"
]
||
fatal
"
Run set_target_pkg_env without DISTRNAME
"
[
-n
"
$DISTRNAME
"
]
||
fatal
"
Missing DISTRNAME in set_target_pkg_env.
"
PKGFORMAT
=
$(
$DISTRVENDOR
-p
"
$DISTRNAME
"
)
PKGFORMAT
=
$(
$DISTRVENDOR
-p
"
$DISTRNAME
"
)
PKGVENDOR
=
$(
$DISTRVENDOR
-s
"
$DISTRNAME
"
)
PKGVENDOR
=
$(
$DISTRVENDOR
-s
"
$DISTRNAME
"
)
RPMVENDOR
=
$(
$DISTRVENDOR
-n
"
$DISTRNAME
"
)
RPMVENDOR
=
$(
$DISTRVENDOR
-n
"
$DISTRNAME
"
)
}
}
realpath
()
{
readlink
-f
"
$@
"
}
showcmd
()
showcmd
()
{
{
if
[
-z
"
$quiet
"
]
;
then
if
[
-z
"
$quiet
"
]
;
then
...
@@ -234,6 +229,19 @@ warning()
...
@@ -234,6 +229,19 @@ warning()
fi
fi
}
}
info
()
{
[
-n
"
$quiet
"
]
&&
return
# print message to stderr if stderr forwarded to (a file)
if
isatty2
;
then
isatty
||
return
0
echo
"
$@
"
else
echo
"
$@
"
>
&2
fi
}
set_sudo
()
set_sudo
()
{
{
SUDO
=
""
SUDO
=
""
...
@@ -258,33 +266,30 @@ set_eatmydata()
...
@@ -258,33 +266,30 @@ set_eatmydata()
# use if possible
# use if possible
which eatmydata
>
/dev/null 2>/dev/null
||
return
which eatmydata
>
/dev/null 2>/dev/null
||
return
SUDO
=
"
$SUDO
eatmydata"
SUDO
=
"
$SUDO
eatmydata"
i
satty
&&
echo
"Uwaga! eatmydata is installed, we will use it for disable all sync operations."
>
&2
i
nfo
"Uwaga! eatmydata is installed, we will use it for disable all sync operations."
return
0
return
0
}
}
assure_exists
()
__get_package_for_command
()
{
{
PATH
=
$PATH
:/sbin:/usr/sbin which
$1
2>/dev/null
>
/dev/null
&&
return
case
"
$1
"
in
echo
"Install appropriate package for
$1
command..."
case
$1
in
equery|revdep-rebuild
)
equery|revdep-rebuild
)
epm
install
gentoolkit
echo
'gentoolkit'
;;
apt-repo
)
epm
install
apt-repo
;;
apt-file
)
epm
install
apt-file
;;
;;
update-kernel|remove-old-kernels
)
update-kernel|remove-old-kernels
)
epm
install
update-kernel
echo
'update-kernel'
;;
*
)
fatal
"Internal error: Unknown binary
$1
to check if exists"
;;
;;
esac
esac
}
}
assure_exists
()
{
load_helper epm-assure
local
package
=
"
$2
"
[
-n
"
$package
"
]
||
package
=
"
$(
__get_package_for_command
"
$1
"
)
"
__epm_assure
"
$1
"
$package
}
get_package_type
()
get_package_type
()
{
{
local
i
local
i
...
@@ -297,6 +302,14 @@ get_package_type()
...
@@ -297,6 +302,14 @@ get_package_type()
echo
"rpm"
echo
"rpm"
return
return
;;
;;
*
.txz
)
echo
"txz"
return
;;
*
.tbz
)
echo
"tbz"
return
;;
*
)
*
)
#fatal "Don't know type of $1"
#fatal "Don't know type of $1"
# return package name for info
# return package name for info
...
@@ -349,6 +362,7 @@ case $DISTRNAME in
...
@@ -349,6 +362,7 @@ case $DISTRNAME in
;;
;;
FreeBSD|NetBSD|OpenBSD|Solaris
)
FreeBSD|NetBSD|OpenBSD|Solaris
)
CMD
=
"pkgsrc"
CMD
=
"pkgsrc"
which pkg 2>/dev/null
>
/dev/null
&&
CMD
=
pkgng
;;
;;
Gentoo
)
Gentoo
)
CMD
=
"emerge"
CMD
=
"emerge"
...
@@ -403,16 +417,20 @@ serv_common()
...
@@ -403,16 +417,20 @@ serv_common()
sudocmd service
$SERVICE
"
$@
"
sudocmd service
$SERVICE
"
$@
"
;;
;;
service-initd|service-update
)
service-initd|service-update
)
sudocmd
/etc/init.d
/
$SERVICE
"
$@
"
sudocmd
$INITDIR
/
$SERVICE
"
$@
"
;;
;;
systemd
)
systemd
)
# run init script directly (for nonstandart commands)
if
[
-x
$INITDIR
/
$SERVICE
]
;
then
sudocmd
$INITDIR
/
$SERVICE
"
$@
"
else
sudocmd systemctl
"
$@
"
$SERVICE
sudocmd systemctl
"
$@
"
$SERVICE
fi
;;
;;
*
)
*
)
fatal
"Have no suitable command for
$SERVICETYPE
"
fatal
"Have no suitable command for
$SERVICETYPE
"
;;
;;
esac
esac
}
}
# File bin/serv-disable:
# File bin/serv-disable:
...
@@ -498,7 +516,7 @@ serv_list_all()
...
@@ -498,7 +516,7 @@ serv_list_all()
sudocmd chkconfig
--list
|
cut
-f1
sudocmd chkconfig
--list
|
cut
-f1
;;
;;
service-initd|service-update
)
service-initd|service-update
)
sudocmd
ls
-1
/etc/init.d/
*
|
sed
-e
"s|/etc/init.d/||g"
|
grep
-v
README
sudocmd
ls
$INITDIR
/
|
grep
-v
README
;;
;;
systemd
)
systemd
)
sudocmd systemctl list-unit-files
$@
sudocmd systemctl list-unit-files
$@
...
@@ -537,7 +555,7 @@ serv_start()
...
@@ -537,7 +555,7 @@ serv_start()
sudocmd service
$SERVICE
start
"
$@
"
sudocmd service
$SERVICE
start
"
$@
"
;;
;;
service-initd|service-update
)
service-initd|service-update
)
sudocmd
/etc/init.d
/
$SERVICE
start
"
$@
"
sudocmd
$INITDIR
/
$SERVICE
start
"
$@
"
;;
;;
systemd
)
systemd
)
sudocmd systemctl start
"
$SERVICE
"
"
$@
"
sudocmd systemctl start
"
$SERVICE
"
"
$@
"
...
@@ -557,7 +575,7 @@ is_service_running()
...
@@ -557,7 +575,7 @@ is_service_running()
$SUDO
service
$1
status
>
/dev/null
$SUDO
service
$1
status
>
/dev/null
;;
;;
service-initd|service-update
)
service-initd|service-update
)
$SUDO
/etc/init.d
/
$1
status
>
/dev/null
$SUDO
$INITDIR
/
$1
status
>
/dev/null
;;
;;
systemd
)
systemd
)
$SUDO
systemctl status
$1
>
/dev/null
$SUDO
systemctl status
$1
>
/dev/null
...
@@ -598,7 +616,7 @@ serv_status()
...
@@ -598,7 +616,7 @@ serv_status()
sudocmd service
$SERVICE
status
"
$@
"
sudocmd service
$SERVICE
status
"
$@
"
;;
;;
service-update
)
service-update
)
sudocmd
/etc/init.d
/
$SERVICE
status
"
$@
"
sudocmd
$INITDIR
/
$SERVICE
status
"
$@
"
;;
;;
systemd
)
systemd
)
sudocmd systemctl status
$SERVICE
"
$@
"
sudocmd systemctl status
$SERVICE
"
$@
"
...
@@ -621,7 +639,7 @@ serv_stop()
...
@@ -621,7 +639,7 @@ serv_stop()
sudocmd service
$SERVICE
stop
"
$@
"
sudocmd service
$SERVICE
stop
"
$@
"
;;
;;
service-initd|service-update
)
service-initd|service-update
)
sudocmd
/etc/init.d
/
$SERVICE
stop
"
$@
"
sudocmd
$INITDIR
/
$SERVICE
stop
"
$@
"
;;
;;
systemd
)
systemd
)
sudocmd systemctl stop
$SERVICE
"
$@
"
sudocmd systemctl stop
$SERVICE
"
$@
"
...
@@ -647,7 +665,7 @@ serv_try_restart()
...
@@ -647,7 +665,7 @@ serv_try_restart()
;;
;;
service-initd|service-update
)
service-initd|service-update
)
is_service_running
$SERVICE
||
return
0
is_service_running
$SERVICE
||
return
0
sudocmd
/etc/init.d
/
$SERVICE
restart
"
$@
"
sudocmd
$INITDIR
/
$SERVICE
restart
"
$@
"
;;
;;
systemd
)
systemd
)
sudocmd systemctl try-restart
$SERVICE
"
$@
"
sudocmd systemctl try-restart
$SERVICE
"
$@
"
...
@@ -1003,6 +1021,8 @@ esac
...
@@ -1003,6 +1021,8 @@ esac
}
}
INITDIR
=
/etc/init.d
PATH
=
$PATH
:/sbin:/usr/sbin
PATH
=
$PATH
:/sbin:/usr/sbin
set_sudo
set_sudo
...
@@ -1092,7 +1112,7 @@ $(get_help HELPOPT)
...
@@ -1092,7 +1112,7 @@ $(get_help HELPOPT)
print_version
()
print_version
()
{
{
echo
"Service manager version 1.5.
0
"
echo
"Service manager version 1.5.
4
"
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."
...
@@ -1210,6 +1230,7 @@ if [ -z "$withoutservicename" ] && [ -z "$service_name" ] ; then
...
@@ -1210,6 +1230,7 @@ if [ -z "$withoutservicename" ] && [ -z "$service_name" ] ; then
fatal
"Run
$ $progname
--help for get help"
fatal
"Run
$ $progname
--help for get help"
fi
fi
# use common way if the command is unknown
if
[
-z
"
$serv_cmd
"
]
;
then
if
[
-z
"
$serv_cmd
"
]
;
then
serv_cmd
=
common
serv_cmd
=
common
fi
fi
...
...
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