From: Kirill Maslinsky <kirill@altlinux.org> To: ALT Linux Team development discussions <devel@lists.altlinux.org> Subject: Re: [devel] texlive /usr/bin/latex dependencies Date: Sun, 28 Jun 2009 19:59:52 +0400 Message-ID: <20090628155952.GC6637@odnako> (raw) In-Reply-To: <20090625183103.781b79b7@bga> [-- Attachment #1: Type: text/plain, Size: 5887 bytes --] On Thu, Jun 25, 2009 at 06:31:03PM +0400, Grigory Batalov wrote: > On Sun, 21 Jun 2009 16:49:00 +0400 > Alexey Tourbin wrote: > > > И ещё желательно озвучить несколько примеров неудачных зависимостей > > между texlive пакетами. Чтобы понять расклад, где там что вылезает. [...] > Можно поступить следующим образом: > - переразбить микро-пакеты на коллекции, избежав циклических зависимостей; > - заблокировать некоторые зависимости (например, условные) директивами > %add_texmf_req_skip latex/<модуль> и %add_findreq_skiplist <файл>, > чтобы разорвать цикл. Я считаю, что нужно обойтись без блокирования зависимостей, иначе обессмысливается вся эта деятельность по автопоиску. Задача этой системы -- обеспечить, чтобы в целостной системе при компиляции латех-документа не возникало сообщений о недостающих стилях (кроме немногих исключительных случаев). Предлагаю следующие шаги: 1. Немного ослабить логику поиска зависимостей. См.: commit 63b8c437025fb1108fa6e71fd12a9822675563d4 Author: Kirill Maslinsky <kirill@altlinux.org> Date: Fri Jun 26 13:33:41 2009 +0400 texmf.req: skip conditionally loaded packages Conditional loads are detected with simple heuristic: if package code contains stadard LaTeX check for existance of certain file, and LaTeX package with corresponding name is requested somewhere in the code, this package is supposed to be loaded conditionally (or else why to check for existence?). This heuristic won't handle obfuscated code where macro parameter is used instead of plain package file name, but is considered to be a good approximation for the typical case. On the main part of texlive tree this change eliminates about 3% of all generated latex dependencies (100 out of 3000). Такой метод не обнаружит условных конструкций другого типа, например, если зависимый пакет загружается только при указании определённой опции. Однако это правильно, т.к. в общем случае мы не знаем, с какими опциями пакет обязан быть рабочим, а с какими не обязан, поэтому исходим из того, что зависимостей должно хватать при любом наборе опций. Предложенный способ как раз ислючает только те зависимости, без которых компиляция гарантированно не остановится на отсутствующем пакете. А главное, он позволяет избавиться от зависимости texlive-latex-base на latex2html! и некоторых других столь же излишних зависимостей. т.е. нужна пересборка с rpm-build-texmf-0.3.4-alt1 (см. пока у меня в git, отправил на сборку) 2. Перенести часть пакетов(texlive) в другие коллекции. Я сразу написал в формате tpm2deb # 1ая итерация: чистка base # eliminating texlive-latex-base->texlive-latex-extra dep # весь ltxmisc убирать из collection-base боязно, т.к. стили оттуда # могут использоваться. но именно файлы из этого пакета порождают кучу # левых зависимостей. move;ltxmisc;collection-latexrecommended # есть большое желание спихнуть hyperref в collection-latexrecommended, вместе с его # безусловными зависимостями. При всём моём уважении к этому пакету... # Интересно, сколько пакетов могут использовать его для сборки документации? # Но если hyperref оставить в base, то надо туда же тащить memoir, oberdiek # и может быть что-то ещё. Мне кажется, base должен быть более консервативным. move;hyperref;collection-latexrecommended # eliminating texlive-latex-base->texlive-extra-utils dep # пакет oberdiek почему-то попал в extra-utils, его место в recommended move;oberdiek;collection-latexrecommended # тут для справки привожу список отдельных файлов из ltxmisc, порождающих # нежелательные зависимости # some packages from ltxmisc collection are not so misc: #move-file;texmf-dist/tex/latex/ltxmisc/abstbook.cls;collection-latexextra #move-file;texmf-dist/tex/latex/ltxmisc/subfigmat.sty;collection-mathextra #move-file;texmf-dist/tex/latex/ltxmisc/concrete.sty;collection-fontsextra #move-file;texmf-dist/tex/latex/ltxmisc/a4wide.sty;collection-latex-recommended #move-file;texmf-dist/tex/latex/ltxmisc/vertbars.sty;collection-humanities #### texlive-latex-recommended #move;ifxetex;collection-latexrecommended # powerdot требует pstricks и extra # не вынести ли его в отдельный пакет (texlive-latex-extraextra) ## 2ая итерация: чистка recommended move;minitoc;collection-latexrecommended move;powerdot;collection-latexextra move;subfigure;collection-latexrecommended # let recommended depend on mathextra (10mb+) move;beton;collection-mathextra move;euler;collection-mathextra # eliminating texlive-latex-recommended->texlive-humanities dep move;lineno;collection-latexrecommended # footmisc нужно перенести поближе из extra, он слишком многим нужен move;footmisc;collection-latexrecommended # eliminating texlive-lang-cyrillic->texlive-latex-extra dep move;lastpage;collection-latexrecommended move;wrapfig;collection-latexrecommended ## 3я итерация, чистка от зависимостей на texlive-latex-extra # eliminating texlive-humanities->texlive-latex-extra dep move;ncctools;collection-latexrecommended move;fmtcount;collection-latexrecommended move;ipa;collection-humanities move;numprint;collection-latexrecommended # eliminating texlive-math-extra->texlive-latex-extra dep move;filecontents;collection-latexrecommended # elimination dep texlive-games->texlive-latex-extra move;xifthen;collection-latexrecommended # elimination dep texlive-pstricks->texlive-latex-extra move;ifplatform;collection-latexrecommended Надо пересобрать texlive с указанными перемещениями и проверить ещё раз, что нигде не осталось нежелательных в свете трехуровневой схемы BASE/RECOMMENDED/EXTRA зависимостей. И не возникло ли новых по недосмотру. И можно будет выкладывать. -- КМ [-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
next prev parent reply other threads:[~2009-06-28 15:59 UTC|newest] Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top 2009-06-21 7:13 Alexey Tourbin 2009-06-21 9:54 ` Grigory Batalov 2009-06-21 12:49 ` Alexey Tourbin 2009-06-25 9:23 ` Grigory Batalov 2009-06-25 9:33 ` Kirill A. Shutemov 2009-06-25 9:44 ` Grigory Batalov 2009-06-25 9:48 ` Grigory Batalov 2009-06-25 14:31 ` Grigory Batalov 2009-06-28 15:59 ` Kirill Maslinsky [this message] 2009-06-28 17:53 ` Led 2009-06-28 18:01 ` Kirill Maslinsky 2009-06-28 18:09 ` Led 2009-06-28 18:25 ` Kirill Maslinsky 2009-06-28 18:35 ` Led 2009-06-28 18:56 ` Kirill Maslinsky 2009-06-28 18:42 ` Kirill Maslinsky 2009-06-29 11:30 ` Grigory Batalov 2009-06-29 11:57 ` Grigory Batalov 2009-06-29 12:28 ` Kirill Maslinsky 2009-06-29 12:37 ` Grigory Batalov 2009-06-29 13:12 ` Kirill Maslinsky 2009-06-29 13:51 ` Grigory Batalov 2009-06-30 6:06 ` Kirill Maslinsky 2009-06-30 8:41 ` Grigory Batalov 2009-06-30 13:24 ` Grigory Batalov 2009-06-30 13:34 ` Kirill Maslinsky 2009-06-29 12:52 ` Anton V. Boyarshinov 2009-06-29 13:02 ` Grigory Batalov 2009-07-01 14:27 ` Grigory Batalov 2009-07-01 14:34 ` Kirill Maslinsky 2009-07-02 11:49 ` Grigory Batalov 2009-07-02 20:16 ` Kirill Maslinsky 2009-07-02 20:24 ` Grigory Batalov 2009-07-02 12:21 ` Grigory Batalov 2009-07-02 20:33 ` Kirill Maslinsky 2009-07-02 20:53 ` Grigory Batalov 2009-07-02 21:01 ` Kirill Maslinsky 2009-06-28 15:38 ` Kirill Maslinsky 2009-06-28 16:01 ` Kirill Maslinsky 2009-06-28 16:10 ` Kirill Maslinsky
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20090628155952.GC6637@odnako \ --to=kirill@altlinux.org \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git