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
4c5923e0
Commit
4c5923e0
authored
Mar 27, 2023
by
Vitaly Lipatov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
epm repo enable/disable: add for ALT
parent
2e0405a0
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
97 additions
and
39 deletions
+97
-39
epm-repodisable
bin/epm-repodisable
+73
-0
epm-repoenable
bin/epm-repoenable
+24
-39
No files found.
bin/epm-repodisable
0 → 100644
View file @
4c5923e0
#!/bin/sh
#
# Copyright (C) 2023 Etersoft
# Copyright (C) 2023 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-sh-altlinux
#load_helper epm-repolist
alt_LISTS
=
'/etc/apt/sources.list /etc/apt/sources.list.d/*.list'
sed_quote
()
{
echo
"
$*
"
|
sed
-e
's|\(\[\)|\\\1|g'
-e
's|\(\]\)|\\\1|g'
-e
's|\(\.\)|\\\1|g'
}
__epm_repodisable_alt
()
{
local
rl
# ^rpm means full string
if
rhas
"
$1
"
"
\^
rpm"
;
then
rl
=
"
$(
echo
"
$1
"
|
sed
-e
's|\^||'
)
"
else
rl
=
"
$(
(
epm
--quiet
repolist
)
2>/dev/null | grep -E "
$(
sed_quote
"
$1
"
)
")"
[
-z
"
$rl
"
]
&&
warning
"Can't find '
$1
' entries in the repos (see '# epm repolist' output)"
&&
return
1
fi
echo
"
$rl
"
|
while
read
rp
;
do
[
-n
"
$dryrun
"
]
&&
echo
"will comment
$rp
"
&&
continue
sed
-i
-e
"s|^
\(
$(
sed_quote
"
$rl
"
)
\)
|#
\1
|"
$alt_LISTS
done
}
epm_repodisable
()
{
case
$PMTYPE
in
apt-rpm
)
assure_root
__epm_repodisable_alt
"
$@
"
;;
apt-dpkg|aptitude-dpkg
)
print_apt_sources_list
;;
yum-rpm
)
docmd yum repolist
$verbose
[
-n
"
$verbose
"
]
||
info
"Use --verbose if you need detail information."
;;
dnf-rpm
)
sudocmd dnf config-manager
--enable
$verbose
"
$@
"
;;
eoget
)
docmd eoget disable-repo
"
$@
"
;;
*
)
fatal
"Have no suitable command for
$PMTYPE
"
;;
esac
}
bin/epm-repoenable
View file @
4c5923e0
...
@@ -18,54 +18,39 @@
...
@@ -18,54 +18,39 @@
#
#
load_helper epm-sh-altlinux
load_helper epm-sh-altlinux
#load_helper epm-repolist
alt_LISTS
=
'/etc/apt/sources.list /etc/apt/sources.list.d/*.list'
epm_repoenabl
e
()
sed_quot
e
()
{
{
echo
"
$*
"
|
sed
-e
's|\(\[\)|\\\1|g'
-e
's|\(\]\)|\\\1|g'
-e
's|\(\.\)|\\\1|g'
}
case
$PMTYPE
in
__epm_repoenable_alt
()
apt-rpm
)
{
#assure_exists apt-repo
local
rl
if
tasknumber
"
$1
"
>
/dev/null
;
then
# ^rpm means full string
get_task_packages
"
$@
"
if
rhas
"
$1
"
"
\^
rpm"
;
then
else
rl
=
"
$(
echo
"
$1
"
|
sed
-e
's|\^||'
)
"
print_apt_sources_list
else
#docmd apt-repo list
rl
=
"
$(
(
epm
--quiet
--all
repolist
)
2>/dev/null | grep -E "
$(
sed_quote
"
$1
"
)
")"
fi
[
-z
"
$rl
"
]
&&
warning
"Can't find commented '
$1
' in the repos (see '# epm repolist' output)"
&&
return
1
;;
fi
apt-dpkg|aptitude-dpkg
)
echo
"
$rl
"
|
while
read
rp
;
do
print_apt_sources_list
[
-n
"
$dryrun
"
]
&&
echo
"will uncomment
$rp
"
&&
continue
;;
sed
-i
-e
"s|^[[:space:]]*#[[:space:]]*
\(
$(
sed_quote
"
$rl
"
)
\)
|
\1
|"
$alt_LISTS
yum-rpm
)
done
docmd yum repolist
$verbose
[
-n
"
$verbose
"
]
||
info
"Use --verbose if you need detail information."
;;
dnf-rpm
)
sudocmd dnf config-manager
--disable
$verbose
"
$@
"
;;
eoget
)
docmd eoget enable-repo
"
$@
"
;;
*
)
fatal
"Have no suitable command for
$PMTYPE
"
;;
esac
}
}
epm_repo
dis
able
()
epm_repo
en
able
()
{
{
case
$PMTYPE
in
case
$PMTYPE
in
apt-rpm
)
apt-rpm
)
#assure_exists apt-repo
assure_root
if
tasknumber
"
$1
"
>
/dev/null
;
then
__epm_repoenable_alt
"
$@
"
get_task_packages
"
$@
"
else
print_apt_sources_list
#docmd apt-repo list
fi
;;
;;
apt-dpkg|aptitude-dpkg
)
apt-dpkg|aptitude-dpkg
)
print_apt_sources_list
print_apt_sources_list
...
@@ -75,10 +60,10 @@ case $PMTYPE in
...
@@ -75,10 +60,10 @@ case $PMTYPE in
[
-n
"
$verbose
"
]
||
info
"Use --verbose if you need detail information."
[
-n
"
$verbose
"
]
||
info
"Use --verbose if you need detail information."
;;
;;
dnf-rpm
)
dnf-rpm
)
sudocmd dnf config-manager
--
en
able
$verbose
"
$@
"
sudocmd dnf config-manager
--
dis
able
$verbose
"
$@
"
;;
;;
eoget
)
eoget
)
docmd eoget
dis
able-repo
"
$@
"
docmd eoget
en
able-repo
"
$@
"
;;
;;
*
)
*
)
fatal
"Have no suitable command for
$PMTYPE
"
fatal
"Have no suitable command for
$PMTYPE
"
...
...
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