Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
epmgpi
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
Ximper Linux
epmgpi
Commits
02919a59
Commit
02919a59
authored
Apr 14, 2024
by
Roman Alifanov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added argument handling and some fixes (ALT bug 49986)
parent
5fe1e8ce
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
48 additions
and
12 deletions
+48
-12
epmgpi
bin/epmgpi
+48
-12
No files found.
bin/epmgpi
View file @
02919a59
...
@@ -30,7 +30,7 @@ ntf_error() {
...
@@ -30,7 +30,7 @@ ntf_error() {
# Функция для вопроса пользователю, перепаковать ли пакет
# Функция для вопроса пользователю, перепаковать ли пакет
repackq
()
{
repackq
()
{
# Не rpm файлы перепаковываются и без ключа --repack
# Не rpm файлы перепаковываются и без ключа --repack
if
[[
$PKG_
SYMB_LINK_
PATH
==
*
.rpm
]]
;
then
if
[[
$PKG_PATH
==
*
.rpm
]]
;
then
$YAD_DEFAULT
--image
=
"dialog-question"
--text
"Перепаковать ли rpm файл для переопределения зависимостей?"
\
$YAD_DEFAULT
--image
=
"dialog-question"
--text
"Перепаковать ли rpm файл для переопределения зависимостей?"
\
--button
=
"yad-yes:0"
\
--button
=
"yad-yes:0"
\
...
@@ -46,7 +46,7 @@ repackq() {
...
@@ -46,7 +46,7 @@ repackq() {
else
else
EEPM_ARGS
=
"--auto -i"
EEPM_ARGS
=
"--auto -i"
fi
fi
echo
"
epm args
:
$EEPM_ARGS
"
echo
"
Аргументы epm
:
$EEPM_ARGS
"
}
}
# GUI селектор пакетов
# GUI селектор пакетов
...
@@ -56,10 +56,11 @@ pkgselection() {
...
@@ -56,10 +56,11 @@ pkgselection() {
}
}
# Проверка, пакет ли файл
# Проверка, пакет ли файл
preparepkg
()
{
hack_for_paths_with_spaces
()
{
PKG_NAME
=
$(
basename
--
"
$PKG_PATH
"
|
tr
-d
' '
)
PKG_NAME
=
$(
basename
--
"
$PKG_PATH
"
|
tr
-d
' '
)
PKG_SYMB_LINK_PATH
=
"
$EPMGPI_TMP
/
$PKG_NAME
"
PKG_SYMB_LINK_PATH
=
"
$EPMGPI_TMP
/
$PKG_NAME
"
ln
-s
"
$PKG_PATH
"
"
$PKG_SYMB_LINK_PATH
"
ln
-s
"
$(
realpath
"
$PKG_PATH
"
)
"
"
$PKG_SYMB_LINK_PATH
"
PKG_PATH
=
$PKG_SYMB_LINK_PATH
}
}
# Установка пакета
# Установка пакета
...
@@ -68,7 +69,7 @@ installpkg() {
...
@@ -68,7 +69,7 @@ installpkg() {
# Тут есть костыль, который каждую строку с помощью sed делает с решеткой. YAD воспринимает только так.
# Тут есть костыль, который каждую строку с помощью sed делает с решеткой. YAD воспринимает только так.
(
(
# shellcheck disable=SC2086
# shellcheck disable=SC2086
/usr/bin/pkexec /usr/bin/epm
$EEPM_ARGS
"
$PKG_
SYMB_LINK_
PATH
"
2>&1
/usr/bin/pkexec /usr/bin/epm
$EEPM_ARGS
"
$PKG_PATH
"
2>&1
exit_code
=
$?
exit_code
=
$?
case
$exit_code
in
case
$exit_code
in
...
@@ -101,16 +102,52 @@ installpkg() {
...
@@ -101,16 +102,52 @@ installpkg() {
}
}
show_help
()
{
echo
"Использование:
$0
[опция] [путь-к-пакету]"
echo
"Опции:"
echo
" --help, -h Показать эту справку"
echo
" --version, -v Показать информацию о версии"
echo
"Передайте путь к пакету, если не хотите использовать окно выбора файла."
}
main
()
{
main
()
{
if
[[
$#
-eq
0
]]
;
then
# Проверка и вызов окна выбора файлов, если PKG_PATH не установлен
if
[[
-z
"
$PKG_PATH
"
]]
;
then
echo
"Путь к пакету не указан. Вызов функции выбора пакета..."
pkgselection
pkgselection
else
echo
"Arguments provided:
$1
"
PKG_PATH
=
"
$1
"
fi
fi
preparepkg
if
[
!
-f
"
$PKG_PATH
"
]
;
then
echo
"Ошибка:
$PKG_PATH
- это не файл."
exit
1
fi
if
echo
"
$PKG_PATH
"
|
grep
-q
" "
;
then
echo
"Путь к пакету содержит пробелы"
hack_for_paths_with_spaces
fi
repackq
repackq
installpkg
installpkg
}
}
main
"
$@
"
# Обработка аргументов перед вызовом main
\ No newline at end of file
while
[[
$#
-gt
0
]]
;
do
case
"
$1
"
in
--help
|
-h
)
show_help
exit
0
;;
--version
|
-v
)
echo
"Версия 1.3"
exit
0
;;
*
)
echo
"Переданы аргументы:
$1
"
PKG_PATH
=
"
$1
"
shift
;;
esac
done
main
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