Bug 39090

Summary: Удалить устаревший python3-module-runfile с вредной командой /usr/bin/run
Product: Sisyphus Reporter: Vitaly Lipatov <lav>
Component: python3-module-runfileAssignee: viy <viy>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: major    
Priority: P3 CC: antohami, cas, cow, darktemplar, evg, george, imz, lav, mithraen, nbr, qa_viy, rider, sem, shaba, sin, slev, vitty, viy
Version: unstable   
Hardware: x86_64   
OS: Linux   
Bug Depends on: 39093    
Bug Blocks:    

Description Vitaly Lipatov 2020-10-17 19:23:06 MSK
Устаревший пакет
python3-module-runfile
имеющий упакованную команду с ужасным названием /usr/bin/run
все апстримы которого удалены

каким-то образом пролез в зависимости пакетов, которые к нему не имеют отношения:

$ apt-cache whatdepends python3-module-runfile
  xmvn-subst-3.0.0-alt1_23jpp8:sisyphus+234592.200.1.1@1563216657
  xmvn-resolve-3.0.0-alt1_23jpp8:sisyphus+234592.200.1.1@1563216657
  xmvn-install-3.0.0-alt1_23jpp8:sisyphus+234592.200.1.1@1563216657
  xmvn-bisect-3.0.0-alt1_23jpp8:sisyphus+234592.200.1.1@1563216657
  xml-commons-resolver-0:1.2-alt1_29jpp8:sisyphus+246085.100.1.1@1581616616
  xjparse-1.0-alt1_21jpp8:sisyphus+246083.100.1.1@1581615498
  xerces-j2-0:2.12.0-alt1_4jpp8:sisyphus+246082.100.1.1@1581615230
  woden-tool-1.0-alt2_0.20.M10jpp8:sisyphus+231052.100.1.1@1559297548
  tycho-1.3.0-alt0.1jpp:sisyphus+234227.100.1.1@1562757611
  sweethome3d-6.1-alt1_2jpp8:sisyphus+243832.100.1.1@1578084515
  svnkit-cli-1:1.8.12-alt1_7jpp8:sisyphus+246326.100.1.3@1581791299
  sdljava-demo-0.9.1-alt2_44jpp8:sisyphus+249057.100.1.1@1585692780
  saxon8-scripts-0:B.8.7-alt4_4jpp6@1455481233
  saxon6-scripts-0:6.5.5-alt6_3jpp6@1455480254
  saxon-scripts-0:9.4.0.9-alt1_10jpp8:sisyphus+249056.100.1.1@1585692791
  rhino-1:1.7.7.1-alt1_9jpp8:sisyphus+246352.100.1.1@1581791357
  rachota-2.3-alt1_18.20130104cvsjpp8:sisyphus+246348.100.1.1@1581791086
  proguard-5.3.3-alt1@1491351083
  procyon-decompiler-srcs-0.5.33-alt1_0.3.pre02jpp8:sisyphus+246346.100.1.2@1581795755
  procyon-decompiler-javadoc-0.5.33-alt1_0.3.pre02jpp8:sisyphus+246346.100.1.2@1581795755
  procyon-decompiler-0.5.33-alt1_0.3.pre02jpp8:sisyphus+246346.100.1.2@1581795755
  portecle-1.10-alt1_5jpp8@1524142999
  plantuml-2:1.2019.1-alt1_6jpp8:sisyphus+258000.100.1.1@1600081569
  pdftk-2.02.java-alt1@1532621070
  opticalraytracer-2.7-alt2_12jpp8@1454447794
  objectweb-asm3-3.3.1-alt1_23jpp8:sisyphus+246361.100.1.1@1581799825
  objectweb-asm-0:7.0-alt1_4jpp8:sisyphus+246362.100.1.3@1581801326
  nekohtml-0:1.9.22-alt1_11jpp8:sisyphus+246358.100.1.1@1581799490
  mvel-2.2.8-alt1_9jpp8:sisyphus+246410.100.1.2@1581814996
  msv-msv-1:2013.6.1-alt1_16jpp8:sisyphus+246409.100.1.2@1581814737
  modello-0:1.9.1-alt1_8jpp8:sisyphus+230732.100.1.3@1559118099
  metadata-extractor2-2.10.1-alt1_7jpp8:sisyphus+246404.100.1.3@1581813986
  liquibase-3.7.0-alt1_1jpp8:sisyphus+259881.200.1.2@1602666246
  jtidy-3:1.0-alt3_0.31.20100930svn1125jpp8:sisyphus+246171.100.1.1@1581628409
  jpanoramamaker-5.6-alt1_11jpp8:sisyphus+246163.100.1.1@1581627804
  trang-0:20151127-alt1_8jpp8:sisyphus+246148.100.1.1@1581626529
  jing-0:20151127-alt1_8jpp8:sisyphus+246148.100.1.1@1581626529
  dtdinst-0:20151127-alt1_8jpp8:sisyphus+246148.100.1.1@1581626529
  jflex-0:1.7.0-alt1_1jpp8:sisyphus+259612.100.1.1@1602395119
  jeuclid-mathviewer-2:3.1.9-alt1_2:sisyphus+246974.100.1.1@1582654613
  jeuclid-cli-2:3.1.9-alt1_2:sisyphus+246974.100.1.1@1582654613
  jdiff-0:1.1.1-alt3_17jpp8:sisyphus+230875.100.1.1@1559224431
  javahelp2-0:2.0.05-alt4_27jpp8:sisyphus+246104.100.1.1@1581622400
  javacc-0:7.0.4-alt1_4jpp8:sisyphus+246099.100.1.1@1581622054
  java-runtime-decompiler-3.0-alt1_9jpp9:sisyphus+259778.100.1.1@1602501064
  jarjar-0:1.4-alt1_23jpp8:sisyphus+230706.100.1.3@1559107980
  jardiff-0:0.2-alt9_3jpp6@1511041948
  itext-toolbox-1:2.1.7-alt3_41jpp8:sisyphus+230451.100.1.1@1558978106
  itext-rups-1:2.1.7-alt3_41jpp8:sisyphus+230451.100.1.1@1558978106
  groovy18-1.8.9-alt1_33jpp8:sisyphus+230386.100.1.2@1558959081
  gogui-1.4.9-alt2_7jpp8:sisyphus+259450.100.1.1@1602184333
  fop-0:2.2-alt1_4jpp8:sisyphus+232748.200.2.2@1561094573
  fernflower-183.5153.8-alt1_4jpp8:sisyphus+246423.100.1.1@1581832771
  ecj-1:4.12-alt1_2jpp8:sisyphus+259802.100.1.1@1602532296
  ditaa-0.10-alt1_8jpp8:sisyphus+246465.100.1.1@1581842227
  derby-0:10.13.1.1-alt1_4jpp8:sisyphus+230301.100.1.2@1558929230
  daps-3.0.0-alt1:sisyphus+251683.320.6.1@1589484043
  closure-compiler-1:20160315-alt1_11jpp8:sisyphus+259625.100.1.3@1602399484
  checkstyle-0:8.0-alt1_6jpp8:sisyphus+230684.100.1.3@1559095912
  bsh-0:2.0-alt1_16.b6jpp8:sisyphus+246487.100.1.1@1581862559
  batik-ttf2svg-0:1.10-alt1_4jpp8:sisyphus+230679.100.1.3@1559093898
  batik-svgpp-0:1.10-alt1_4jpp8:sisyphus+230679.100.1.3@1559093898
  batik-squiggle-0:1.10-alt1_4jpp8:sisyphus+230679.100.1.3@1559093898
  batik-slideshow-0:1.10-alt1_4jpp8:sisyphus+230679.100.1.3@1559093898
  batik-rasterizer-0:1.10-alt1_4jpp8:sisyphus+230679.100.1.3@1559093898
  arduino-1:1.8.5-alt3_8jpp8:sisyphus+259521.100.1.1@1602262961
  aqute-bnd-0:3.5.0-alt1_8jpp8:sisyphus+246478.100.1.1@1581862098
  apache-rat-core-0.13-alt1_7jpp8:sisyphus+259693.100.1.3@1602438700
  antlrworks-1.5.2-alt1_14jpp8:sisyphus+246473.100.1.3@1581862997
  antlr4-4.5.2-alt1_7jpp8:sisyphus+230654.100.1.3@1559082392
  antlr3-tool-1:3.5.2-alt1_30jpp8:sisyphus+259700.100.1.2@1602439441
  antlr-tool-0:2.7.7-alt12_59jpp8:sisyphus+259618.100.2.2@1602399206
  OpenStego-0.7.3-alt1_5jpp8:sisyphus+246270.100.1.1@1581694896
  Mars-4.5-alt3_10jpp8:sisyphus+246269.100.1.1@1581694829
  HdrHistogram-2.1.9-alt1_7jpp8:sisyphus+230702.100.1.3@1559106615
  CardManager-3-alt1_14jpp8:sisyphus+246268.100.1.1@1581694585
  swi-prolog-java-7.4.2-alt2_5:sisyphus+246553.100.1.1@1581959139
  bolzplatz2006-1.0.3-alt1_42jpp8:sisyphus+246485.100.1.1@1581862580
Comment 1 Vitaly Lipatov 2020-10-17 19:29:07 MSK
Игорь, я сделал задание на удаление:
http://git.altlinux.org/tasks/260033/logs/events.1.1.log

но пока не смог обнаружить, где вы добавляете эту зависимость.
Надеюсь, у вас будут идеи, что изменить.
А потом перевесьте багу на меня, я завершу удаление.

Особенно странно, что там прямая зависимость на пакет:
  checkstyle-0:8.0-alt1_6jpp8:sisyphus+230684.100.1.3@1559095912
    Требует: python3-module-runfile
Comment 2 Vitaly Lipatov 2020-10-17 19:39:46 MSK
(Ответ для Vitaly Lipatov на комментарий #1)
...
> Особенно странно, что там прямая зависимость на пакет:
>   checkstyle-0:8.0-alt1_6jpp8:sisyphus+230684.100.1.3@1559095912
>     Требует: python3-module-runfile

Что ещё страннее, при этом пакет не имеет зависимости :)
 $ rpm -q --requires checkstyle
javapackages-tools
/bin/sh
/bin/sh
/usr/share/java-utils/java-functions
mvn(antlr:antlr)
mvn(com.google.guava:guava)
mvn(com.sun:tools)
mvn(commons-beanutils:commons-beanutils)
mvn(commons-cli:commons-cli)
mvn(org.antlr:antlr4-runtime)
python3-module-runfile
/usr/bin/install-catalog
rpmlib(PayloadIsLzma)
Comment 3 Vitaly Lipatov 2020-10-17 19:47:19 MSK
(Ответ для Vitaly Lipatov на комментарий #2)
> (Ответ для Vitaly Lipatov на комментарий #1)
> ...
> > Особенно странно, что там прямая зависимость на пакет:
> >   checkstyle-0:8.0-alt1_6jpp8:sisyphus+230684.100.1.3@1559095912
> >     Требует: python3-module-runfile
> 
> Что ещё страннее, при этом пакет не имеет зависимости :)
...
Я ошибся, конечно, она там была

В спеках вписан такой макрос:
%filter_from_requires /^.usr.bin.run/d

В логах проявляется
find-requires: FINDPACKAGE-COMMANDS: run

Видимо, сначала модуль runfile случайно попал, а потом стал вирусной зависимостью.

На самом деле run это функция в
/usr/share/java-utils/java-functions
из javapackages-tools

Который вызывается в скриптах запуска, типа fop.script, идущих с пакетами.

Создавать ли багу, что find-requires для shell находит пакет вместо функции?
Comment 4 Vitaly Lipatov 2020-10-17 19:53:52 MSK
(Ответ для Vitaly Lipatov на комментарий #3)
> (Ответ для Vitaly Lipatov на комментарий #2)
> > (Ответ для Vitaly Lipatov на комментарий #1)
> > ...
> > > Особенно странно, что там прямая зависимость на пакет:
> > >   checkstyle-0:8.0-alt1_6jpp8:sisyphus+230684.100.1.3@1559095912
> > >     Требует: python3-module-runfile
> > 
> > Что ещё страннее, при этом пакет не имеет зависимости :)
> ...
> Я ошибся, конечно, она там была
> 
> В спеках вписан такой макрос:
> %filter_from_requires /^.usr.bin.run/d
Он такой не будет работать, потому что /usr/bin/run конвертируется в пакет, откуда она берётся.
Поэтому его нужно убрать из спеков, чтобы не создавал видимость.
Comment 5 Vitaly Lipatov 2020-10-17 20:30:35 MSK
Зловредный модуль python3-module-runfile проник в сборочные зависимости
1197 пакетов!

Из них в 163 пакета gnome/gtk, через yelp-tools (требующий jing), который они используют при сборке.

Мне кажется, что yelp-tools не стоило вообще ничего тащить из Java.
Comment 6 Vitaly Lipatov 2020-10-22 03:12:01 MSK
(Ответ для Vitaly Lipatov на комментарий #1)
> Игорь, я сделал задание на удаление:
> http://git.altlinux.org/tasks/260033/logs/events.1.1.log
Я пересобрал python3-module-runfile, удалив из него /usr/bin/run.
Видимо, при очередной или внеочередной пересборке зависимость пропадёт.
Comment 7 viy 2020-10-22 13:50:20 MSK
(Ответ для Vitaly Lipatov на комментарий #6)
> (Ответ для Vitaly Lipatov на комментарий #1)
> > Игорь, я сделал задание на удаление:
> > http://git.altlinux.org/tasks/260033/logs/events.1.1.log
> Я пересобрал python3-module-runfile, удалив из него /usr/bin/run.
> Видимо, при очередной или внеочередной пересборке зависимость пропадёт.

Спасибо, действительно, теперь пересборка поможет.
Comment 8 Vitaly Lipatov 2020-10-22 22:14:28 MSK
(Ответ для Vitaly Lipatov на комментарий #5)
...
> Мне кажется, что yelp-tools не стоило вообще ничего тащить из Java.
Завёл багу по этому поводу:
https://bugzilla.altlinux.org/show_bug.cgi?id=39114
Comment 9 viy 2021-06-06 23:40:05 MSK
я в /usr/share/java-utils/java-functions
сделал хак, функцию jvm_run, и переезжаю везде на использование именно jvm_run.
Попробую за июнь пересобрать все свои пакеты, у которых shell.req поставил паразитную зависимость /usr/bun/run.
Comment 10 viy 2021-06-08 21:57:15 MSK
пакет готов к удалению.

Удаляем?
Comment 11 Vitaly Lipatov 2021-06-09 01:37:17 MSK
(Ответ для viy на комментарий #10)
> пакет готов к удалению.
> 
> Удаляем?
Да, запустил удаление.
274088 PENDING #2 sisyphus del=python3-module-runfile

[#274088] DONE (try 2) del=python3-module-runfile