Bug 1482019 - Release 6: added %transfiletriggers and many other changes
Summary: Release 6: added %transfiletriggers and many other changes
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: texinfo
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Vitezslav Crhonek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-08-16 09:39 UTC by Tomasz Kłoczko
Modified: 2018-02-04 19:22 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2018-02-04 19:22:45 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
release 6 patches as git series (7.46 KB, application/x-gzip)
2017-08-16 09:39 UTC, Tomasz Kłoczko
no flags Details
texinfo.spec file after patching (22.77 KB, text/plain)
2017-08-16 10:52 UTC, Tomasz Kłoczko
no flags Details
updated version of remove_us_ascii.patch (5.29 KB, patch)
2017-08-29 08:46 UTC, Vitezslav Crhonek
no flags Details | Diff
final diff of the spec file (1.00 KB, patch)
2017-08-29 08:47 UTC, Vitezslav Crhonek
no flags Details | Diff

Description Tomasz Kłoczko 2017-08-16 09:39:09 UTC
Created attachment 1314044 [details]
release 6 patches as git series

Hi,

Attached batch of patches in git format contains many changes.
Summary list from %changelog:

* Wed Aug 14 2017 Tomasz Kłoczko <kloczek> - 6.4-6
- remove Group tockens (Fedora Packaging Guidline)
- remove static perl(Text::Unidecode), perl(Unicode::EastAsianWidth)
  perl(Data::Dumper) and perl(Locale::Messages) Requires.
  These dependencies are added automatically
- added DEFAULT_INFOPATH patch: removed from info pages search path all
  not used paths (faster loading pages). Most of those paths are not even
  compliant with FHSv/v3 or even older FSSTND specyfications
- added remove_us_ascii patch which removes install *us-asci copies of some
  .mo files (only UTF8 are needed)
- help2man no longer needed - added "touch man/*.?" in %%prep
- add use %%transfiletriggerin/%%transfiletriggerpostu scriptlets. By this no
  longer are needed info-dir and macros.info Source files because
  %%{_infodir}/dir will be regenerated out of all *.info files
- added use %%autosetup in %%prep
- simplification: added use --all-name in %%find_lang
- tex subpackage %%post and %%postun are no longer needed as because TeX
  packages have similar global file triggers which are causing execution of
  the "texconfig-sys rehash" on any changes in TeX directory tree Executing
  "texconfig-sys rehash" in other packages own scriptlets makes almost two
  times longer instal/uninstall/upgrade texinfo-tex
  installation/upgrade/uninstall
- use %%define (use stonger %%global is not needed)
- added using more macros in %%build and %%install. Use %%_licensedir no longer
  needed
- added use --without-included-regex (smaller binaries)
- indent spec

NOTE1: when info file triggers will be introduced it will be possible to remove from all other packages scriptlets using /sbin/install-info. As well installation of the Fedora with exclude doc installation will never be disrupted by some info scriptlets issues. Global exclusion install of the documentation can be enabled by add in /etc/rp/rpmrc line:
%excludedoc 1

NOTE2: with info package new file trigger theoretically after remove all using /sbin/install-info in other packages should be possible to remove this binary but probably it will never gona happen.

I know that list of changes is rather big an this is why I've added all changes in separated steps to make easier review.
By mistake I've committed DEFAULT_INFOPATH and remove_us_ascii patches not with modyfication of the spec file but it is minor thing.

Without new %changelog entry spec is about 2.2KB smaller which shows how many things was possible to simplify/reduce.

Fill free do pick any of those patches or let me know which parts should be redone.

Comment 1 Tomasz Kłoczko 2017-08-16 10:52:28 UTC
Created attachment 1314062 [details]
texinfo.spec file after patching

Added as an attachment texinfo.spec file after applying all patches to present easier all changes together.

Comment 2 Tomasz Kłoczko 2017-08-16 11:38:52 UTC
Just one yet another comment.

Lets assume that that at least %filetrigger changes will be accepted before committing those changes and sending texinfo to rebuild it would be good to sync such new release with remove all /sbin/install-info in all other packages for rawhide.

I'm going to start looking how such change should be done to minimize time when other packages spec files may be failing by lack of some macros which which this set of changes removes as no longer needed.
Any advice or even help with doing this will be welcome :)

Comment 3 Tomasz Kłoczko 2017-08-16 13:43:27 UTC
Just FTR: another preparation to introduce changes in other packages which will be consequence of adding info package file triggers. I've done search across all Fedora packages git repositories.

[tkloczko@domek fedora]$ find . -type f -name \*spec | xargs egrep -l '^%{_infodir}|/sbin/install-info' > info
[tkloczko@domek fedora]$ wc -l info 
280 info

minus texinfo.spec file so it will be 279 packages currently in rawhide which can be simplified by remove all /sbin/install-info dependencies and %post/%postun scriptlets. As consequence it will reduce slightly as well size of dnf packages repositories indexes.

This will reduce time of the package upgrades because instead updating %{_infidir}/dir on each package upgrade or install only one time at the and of all packages transactions will be regenerated info pages index file.

Another observation: when dir file is regenerated out of all *info* files this file is longer than using current method. All because many info pages scriptlets are updating info file incorrectly. So on introduce proposed here texinfo package improvements quality of the main info pages index will be better as well.

Comment 4 Vitezslav Crhonek 2017-08-28 12:03:59 UTC
Introducing file triggers is very good step forward in my opinion. I have just few notes:

a) Looking into texinfo/contrib/README (because of fix-info-dir script), the code there is not officially part of Texinfo and it's not supported by upstream. It seems to work fine, but we should be double cautious:)

b) fix-info-dir still uses install-info for adding/removing individual info files - this binary cannot be removed.

c) To be on the safe side I would keep shipping info-dir and macros.info for a while. It wouldn't break file triggers functionality, but it could prevent fails of package builds (because of missing macros for example), right?

Do you plan summarize your observations for fedora-devel mailing list? I think it could be beneficial as the change can affect a big amount of packages.

I also reviewed the rest of changes and I see no problem there (just minor overlooks like bogus date in changelog entry and one or two blank spaces at the end of line - I'll fix that during the commit into dis-git). Thanks for your work!

Comment 5 Tomasz Kłoczko 2017-08-28 12:21:08 UTC
Ad a, b) OK I was wrong about install-info :)
Ad c) Yes other packages will fail by missing those macro.

IMO better would be introduce change in texinfo without rpm macros to cut off ASAP all%post/%postun use install-info. With release of the new texinfo IMO sending to fedora-devel announcement explaining all what needs to be done should would be enough to remove all install-info use ASAP.

If you want me to send such email I will be happy to do this :)

If you want me to redo some of those changes please let me know.

Comment 6 Tomasz Kłoczko 2017-08-28 12:23:31 UTC
One more thing.
I just none egrep across all current Fedora spec files:

[tkloczko@domek SPECS.fedora]$ egrep -l "info_post|info_requires|info_preun" *
[tkloczko@domek SPECS.fedora]$ 

Looks like %info_post, %info_requires and %info_preun macros are not used at all so they can be removed without any additional consequences.

Comment 7 Vitezslav Crhonek 2017-08-29 08:45:57 UTC
(In reply to Tomasz Kłoczko from comment #5)
> Ad a, b) OK I was wrong about install-info :)
> Ad c) Yes other packages will fail by missing those macro.
> 
> IMO better would be introduce change in texinfo without rpm macros to cut
> off ASAP all%post/%postun use install-info. With release of the new texinfo
> IMO sending to fedora-devel announcement explaining all what needs to be
> done should would be enough to remove all install-info use ASAP.
> 
> If you want me to send such email I will be happy to do this :)


OK, I agree. Please do the announcement.

> 
> If you want me to redo some of those changes please let me know.


There's one more issue caused by remove_us_ascii patch, see failing scratch build here:
https://koji.fedoraproject.org/koji/taskinfo?taskID=21517473

It is because po_document/LINGUAS touched in the patch is source for tp/Makefile.docstr. I've manually regenerated the Makefile.docstr with the tp/mantain/regenerate_docstr.sh, added it to remove_us_ascii patch and fooled the configure script by touching both patched files with timestamp reference to Makefile.in to avoid messing with autotools.

I'll attach updated patch and final spec file diff against your version from comment#1.

Comment 8 Vitezslav Crhonek 2017-08-29 08:46:52 UTC
Created attachment 1319358 [details]
updated version of remove_us_ascii.patch

Comment 9 Vitezslav Crhonek 2017-08-29 08:47:16 UTC
Created attachment 1319359 [details]
final diff of the spec file

Comment 10 Tomasz Kłoczko 2017-08-29 08:52:19 UTC
I'm busy a bit now but will try to write draft of such email and attach it here to give you opportunity to review it.
(I think that it would be good to have yet another pair of eyeballs before such announcement will be posted :))

Thx

Comment 11 Tomasz Kłoczko 2017-09-02 18:58:18 UTC
Sorry I was busy and I still did not finish my announcement. Will try to finish and clean it tomorrow.

Comment 12 Vitezslav Crhonek 2017-09-04 07:18:27 UTC
(In reply to Tomasz Kłoczko from comment #11)
> Sorry I was busy and I still did not finish my announcement. Will try to
> finish and clean it tomorrow.

No problem, thanks.

Comment 13 Igor Gnatenko 2018-02-04 19:22:45 UTC
This is pretty outdated and doesn't really work. I sent proper / working version at https://src.fedoraproject.org/rpms/texinfo/pull-request/1


Note You need to log in before you can comment on or make changes to this bug.