Скрипт для обновления сборника ПО для Windows: различия между версиями
Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
Rain (обсуждение | вклад) (Создана новая страница размером Скрипт для формирования и обновления [[Сборник свободного и бесплатного ПО ...) |
Rain (обсуждение | вклад) |
||
Строка 14: | Строка 14: | ||
<source lang=bash> | <source lang=bash> | ||
#!/bin/bash | #!/bin/bash | ||
d='echo #' | |||
prefix='winsoft' | |||
hrefer() { | |||
grep -oE 'href=[\"'\'']?http://[a-zA-Z0-9\?\=\&\.\/_\-]+' | | |||
sed 's/href=[\"'\'']//g' | |||
} | |||
message() { | |||
echo "${1}" "${2}" | |||
} | |||
############ Openoffice.org | |||
openofficepath="${prefix}/office/suite/OpenOffice.org/" | |||
openofficelink="$(wget -q 'http://download.openoffice.org/other.html#ru' -O- | grep 'winwjre&lang=ru' | hrefer)" | |||
openofficeversion="$(grep -oE 'version=[\.0-9]{1,}' <<< "${openofficelink}" | sed 's/version\=//g')" | |||
message "Последняя версия OpenOffice.org - " "${openofficeversion}" | |||
mkdir -p "${openofficepath}" | |||
${d} wget "${openofficelink}" -P "${openofficepath}" | |||
####################################################### | |||
############ Blender x86 | |||
blenderpath="${prefix}/design/3d/blender/x86/" | |||
blenderlink="$(wget -q http://www.blender.org/download/get-blender/ -O- | grep -m1 'windows' | hrefer)" | |||
blenderversion="$(grep -oE 'blender-[0-9\.a-z]{1,}' <<< "${blenderlink}" | sed 's/blender\-//g')" | |||
message "Последняя версия Blender x86 - " "${blenderversion}" | |||
mkdir -p "${blenderpath}" | |||
${d} wget "${blenderlink}" -P "${blenderpath}" | |||
####################################################### | |||
############ Blender x86-64 | |||
blenderfpath="${prefix}/design/3d/blender/x86-64/" | |||
blenderflink="$(wget -q http://www.blender.org/download/get-blender/ -O- | grep -m1 'win64' | hrefer)" | |||
blenderfversion="$(grep -oE 'blender-[0-9\.a-z]{1,}' <<< "${blenderflink}" | sed 's/blender\-//g')" | |||
message "Последняя версия Blender x86-64 - " "${blenderfversion}" | |||
mkdir -p "${blenderfpath}" | |||
${d} wget "${blenderflink}" -P "${blenderfpath}" | |||
####################################################### | |||
############ GIMP x86 | |||
gimppath="${prefix}/design/photoeditors/gimp/x86/" | |||
gimplink="$(wget -q 'http://gimp-win.sourceforge.net/stable.html' -O- | grep 'i686' | hrefer | sed 's/\?use_mirror\=//g')" | |||
gimpversion="$(grep -oE 'gimp-[0-9\.]{1,}' <<< "${gimplink}" | sed 's/gimp\-//g')" | |||
message "Последняя версия GIMP - " "${gimpversion}" | |||
mkdir -p "${gimppath}" | |||
${d} wget "${gimplink}" -P "${gimppath}" | |||
####################################################### | |||
############ GIMP x86-64 | |||
gimpfpath="${prefix}/design/photoeditors/gimp/x86-64/" | |||
gimpflink="$(wget -q 'http://gimp-win.sourceforge.net/stable.html' -O- | grep 'x64' | hrefer | sed 's/\?use_mirror\=//g')" | |||
gimpfversion="$(grep -oE 'gimp-[0-9\.]{1,}' <<< "${gimpflink}" | sed 's/gimp\-//g')" | |||
message "Последняя версия GIMP x86-64 - " "${gimpfversion}" | |||
mkdir -p "${gimpfpath}" | |||
${d} wget "${gimpflink}" -P "${gimpfpath}" | |||
####################################################### | |||
############ Inkscape | |||
inkscapepath="${prefix}/design/vector/inkscape/x86/" | |||
inkscapelink="$(wget -q 'http://www.inkscape.org/download/?lang=ru' -O- | grep -o '.*exe installer' | hrefer)" | |||
inkscapeversion="$(grep -oE 'Inkscape\-[\.0-9]{1,}' <<< "${inkscapelink}" | sed 's/Inkscape\-//g' | sed 's/\.$//g')" | |||
message "Последняя версия Inkscape - " "${inkscapeversion}" | |||
mkdir -p "${inkscapepath}" | |||
${d} wget "${inkscapelink}" -P "${inkscapepath}" | |||
####################################################### | |||
</source> | </source> | ||
[[Category:Скрипт]] | [[Category:Скрипт]] |
Версия 09:17, 29 августа 2009
Скрипт для формирования и обновления Сборника свободного и бесплатного ПО для Windows.
Задачи скрипта:
- создание оговоренной структуры каталогов сборника
- проверка наличия новых версий программы
- закачка новых версий программы в отведенный для нее каталог
- удаление устаревших версий ПО
- создание файла контрольных сумм (при помощи утилиты cfv) для каждого каталога и его обновление при обновлении находящихся в каталогах файлов.
- в процессе работы скрипт должен выводить поясняющие сообщения ("Нет обновлений для $softname", "Доступна новая версия для $softname" и т.п.)
ToDo: Создать скрипт, описывающий весь сборник софта
#!/bin/bash
d='echo #'
prefix='winsoft'
hrefer() {
grep -oE 'href=[\"'\'']?http://[a-zA-Z0-9\?\=\&\.\/_\-]+' |
sed 's/href=[\"'\'']//g'
}
message() {
echo "${1}" "${2}"
}
############ Openoffice.org
openofficepath="${prefix}/office/suite/OpenOffice.org/"
openofficelink="$(wget -q 'http://download.openoffice.org/other.html#ru' -O- | grep 'winwjre&lang=ru' | hrefer)"
openofficeversion="$(grep -oE 'version=[\.0-9]{1,}' <<< "${openofficelink}" | sed 's/version\=//g')"
message "Последняя версия OpenOffice.org - " "${openofficeversion}"
mkdir -p "${openofficepath}"
${d} wget "${openofficelink}" -P "${openofficepath}"
#######################################################
############ Blender x86
blenderpath="${prefix}/design/3d/blender/x86/"
blenderlink="$(wget -q http://www.blender.org/download/get-blender/ -O- | grep -m1 'windows' | hrefer)"
blenderversion="$(grep -oE 'blender-[0-9\.a-z]{1,}' <<< "${blenderlink}" | sed 's/blender\-//g')"
message "Последняя версия Blender x86 - " "${blenderversion}"
mkdir -p "${blenderpath}"
${d} wget "${blenderlink}" -P "${blenderpath}"
#######################################################
############ Blender x86-64
blenderfpath="${prefix}/design/3d/blender/x86-64/"
blenderflink="$(wget -q http://www.blender.org/download/get-blender/ -O- | grep -m1 'win64' | hrefer)"
blenderfversion="$(grep -oE 'blender-[0-9\.a-z]{1,}' <<< "${blenderflink}" | sed 's/blender\-//g')"
message "Последняя версия Blender x86-64 - " "${blenderfversion}"
mkdir -p "${blenderfpath}"
${d} wget "${blenderflink}" -P "${blenderfpath}"
#######################################################
############ GIMP x86
gimppath="${prefix}/design/photoeditors/gimp/x86/"
gimplink="$(wget -q 'http://gimp-win.sourceforge.net/stable.html' -O- | grep 'i686' | hrefer | sed 's/\?use_mirror\=//g')"
gimpversion="$(grep -oE 'gimp-[0-9\.]{1,}' <<< "${gimplink}" | sed 's/gimp\-//g')"
message "Последняя версия GIMP - " "${gimpversion}"
mkdir -p "${gimppath}"
${d} wget "${gimplink}" -P "${gimppath}"
#######################################################
############ GIMP x86-64
gimpfpath="${prefix}/design/photoeditors/gimp/x86-64/"
gimpflink="$(wget -q 'http://gimp-win.sourceforge.net/stable.html' -O- | grep 'x64' | hrefer | sed 's/\?use_mirror\=//g')"
gimpfversion="$(grep -oE 'gimp-[0-9\.]{1,}' <<< "${gimpflink}" | sed 's/gimp\-//g')"
message "Последняя версия GIMP x86-64 - " "${gimpfversion}"
mkdir -p "${gimpfpath}"
${d} wget "${gimpflink}" -P "${gimpfpath}"
#######################################################
############ Inkscape
inkscapepath="${prefix}/design/vector/inkscape/x86/"
inkscapelink="$(wget -q 'http://www.inkscape.org/download/?lang=ru' -O- | grep -o '.*exe installer' | hrefer)"
inkscapeversion="$(grep -oE 'Inkscape\-[\.0-9]{1,}' <<< "${inkscapelink}" | sed 's/Inkscape\-//g' | sed 's/\.$//g')"
message "Последняя версия Inkscape - " "${inkscapeversion}"
mkdir -p "${inkscapepath}"
${d} wget "${inkscapelink}" -P "${inkscapepath}"
#######################################################