Bug 106899 - Snapshots maybe should contain pre-generated man pages & info pages
Summary: Snapshots maybe should contain pre-generated man pages & info pages
Status: UNCONFIRMED
Alias: None
Product: gcc
Classification: Unclassified
Component: other (show other bugs)
Version: unknown
: P3 enhancement
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords: documentation
Depends on:
Blocks:
 
Reported: 2022-09-10 02:54 UTC by Sam James
Modified: 2024-04-18 22:34 UTC (History)
4 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sam James 2022-09-10 02:54:53 UTC
Would it be possible for the weekly snapshots to include pre-generated .info pages (and man pages)?

Full releases do:
```
# find . | grep -i "\.info$"
./gcc-11.3.0/libquadmath/libquadmath.info
./gcc-11.3.0/libgomp/libgomp.info
./gcc-11.3.0/libitm/libitm.info
./gcc-11.3.0/gcc/fortran/gfortran.info
./gcc-11.3.0/gcc/doc/gccinstall.info
./gcc-11.3.0/gcc/doc/gccint.info
./gcc-11.3.0/gcc/doc/cpp.info
./gcc-11.3.0/gcc/doc/cppinternals.info
./gcc-11.3.0/gcc/doc/gcc.info
```

But snapshots don't:
```
/var/tmp/portage/sys-devel/gcc-11.3.1_p20220909/work # find . | grep -i "\.info$"
/var/tmp/portage/sys-devel/gcc-11.3.1_p20220909/work #
```
Comment 1 Andrew Pinski 2022-09-10 03:00:22 UTC
Right this is done on purpose as snapshots are just snapshots of the sources directly from the git.
Comment 2 Andrew Pinski 2022-09-10 03:06:06 UTC
"Public releases and weekly snapshots of the development sources are also available via HTTPS."

"Necessary to build GCC documentation during development because the generated output files are not included in the repository. They are included in releases."

From https://gcc.gnu.org/install/prerequisites.html


Also I suspect building the snapshot with the generated files will no longer be considered a snapshot but a snap release instead. Since it is not exactly what is in the git repo anymore.
Comment 3 Sam James 2022-09-10 03:15:05 UTC
Yeah, I understand it's not an error per se, just wondering if it could be considered to add them.

It looks like they're generated from the same script used for releases: maintainer-scripts/gcc_release (as it handles announcing them too, and diffs, etc).

I didn't realise it didn't do a test build at all (figured if it did, could just shove in --enable-generated-files-in-srcdir).

At least the machinery is largely there, but it'd involve actually doing at least a minimal build before generating the snapshots.
Comment 4 Andrew Pinski 2022-09-10 03:43:19 UTC
So the issue is when we do a release, do a full build of GCC.
Doing a snapshot does NOT do the full build because of resource constraints.
We have at least any one time, 4 snapshots happening during the week.
the machine which hosts gcc is doing the snapshots so taking resources away from other projects too.

We could do this yes but I doubt we want to do for a few reasons.
1) No longer a true snapshot of the source.
2) resource constraints on building the snapshot
3) building the generated files while using snapshot/git is not a bad thing
Comment 5 Richard Biener 2022-09-12 07:46:41 UTC
The resource issue is probably a non-issue these days
Comment 6 Mark Wielaard 2023-08-19 20:19:49 UTC
(In reply to Richard Biener from comment #5)
> The resource issue is probably a non-issue these days

Yes, we have more hardware these these. Even a separate machine just to create snapshots. Thanks to OSUOSL we now have https://snapshots.sourceware.org/ to publish static artifacts from current git repos created in isolated containers. It can be used as alternative to cron jobs on the main machine to generate snapshots and documentation. The container files and build steps are defined through the builder project.

We could do both. Have the current snapshots once a week. And have a full "release snapshot" through snapshorts.sourceware.org whenever the sources change (every hour) that regenerates all generated files (so we also know whenever manual creation is broken).