Bug#1011343: WISHLIST: Offical ALL-IN-ONE images?

2022-05-22 Thread Thomas Schmitt
Hi,

i wrote:
> > I began to ponder about a shortcut in libisofs which would trust the
> > checksum file (-checksum-list , -md5-list) enough to omit the reading of
> > all the package files' content.

Steve McIntyre wrote:
> Cute idea (grin!), but it's a non-started - we wouldn't be able to
> generate the various checksums for the whole image.

Yeah. Ain't it sad ?


> > Would more than one empty line between paragraphs damage the readability ?

> Not sure, to be honest.

So i will have to let my script think more. (It's at 287 lines, meanwhile.)


> Might just work, yeah!

My script does meanwhile:
- Take as arguments the paths of
  boot_iso  boot_mount_directory  add_iso  add_mount_directory  result_iso
- Mount the bootable ISO (e.g. debian-11.3.0-amd64-DLBD-1.iso) and the
  add-on ISO (e.g. debian-11.3.0-amd64-DLBD-2.iso).
- Determine the release name $dist of the bootable ISO (e.g. "bullseye").
- Copy /dists and /md5sum.txt from bootable ISO to local working directory.
- Merge the /md5sum.txt of both ISOs.
- Read the paths from first checksummed file lists of both
  /dists/$dist/Release files, sort and uniq them. (I don't bet that both
  have the same list, although DVD-1 and DVD-2 have the same.)
- Merge the namesake .gz files from that list (if both exist) or copy .gz
  file from the add-on ISO (if not yet in bootable ISO).
- Create a new file /dists/$dist/Release with the header lines from the
  file in the bootable ISO and freshly computed checksums of the merged
  files.
- Produce the bootable result_iso, overwriting /dists and /md5sum.txt
  by the altered copies from the local directory.

This can be repeated by using result_iso as new boot_iso and another add_iso
and a new result_iso name.



How can i verify that the resulting ISO properly announces all its
packages ?
(If i install it to a VM, what must i do to challenge its completeness ?)


Have a nice day :)

Thomas



Bug#1011343: WISHLIST: Offical ALL-IN-ONE images?

2022-05-22 Thread Steve McIntyre
Hey Thomas!

On Sun, May 22, 2022 at 12:03:23PM +0200, Thomas Schmitt wrote:
>Steve McIntyre wrote:
>> youre initial guess is correct. We don't generate the .iso files
>> at all for the larger images [1]. This means we also don't have
>> torrent files for them [2].
>
>I began to ponder about a shortcut in libisofs which would trust the
>checksum file (-checksum-list , -md5-list) enough to omit the reading of
>all the package files' content.
>Size, ownership, permissions, et.al would still be taken from the package
>files on disk. No ISO image would emerge (because of no valid file content)
>but .jigdo and .template would be created.
>Probably libjte would need an API extension so that it knows that only
>the count parameter of a libjte_show_data_chunk() call is valid.
>Vice versa libisofs would have to ask libjte whether a particular file
>is covered by the checksum list.
>
>All tricky and probably not worth the risk of embarassing failure.

Cute idea (grin!), but it's a non-started - we wouldn't be able to
generate the various checksums for the whole image.

>So back to my idea of merging ISOs:
>
>> The debian-cd code in tools/make_disc_trees.pl is not documentation
>> **as such**, but it's exactly how we create disc trees:
>
>I am using it now for checking detail questions.
>
>
>> It's baiscally just making a self-contained apt repository on each medium.
>
>So
>  https://wiki.debian.org/DebianRepository/Format
>looks like the specs to follow.
>
>Question (to everybody):
>
>The description of Packages[.gz] files talks of "paragraphs" but does not
>exactly define a paragraph's end delimiter. From Packages.gz in the ISO
>i'd guess it is an empty line or the "Package" field of the next paragraph.
>
>Is an empty line needed between paragraphs ?

Yup, it's an empty line.

>Would more than one empty line between paragraphs damage the readability ?

Not sure, to be honest.

>Reason: I want to merge the Packages.gz files like
>
>  (gunzip   | gzip >temp_file
>
>but am not sure that the found Packages.gz will always end by an empty
>line.  So i could simply insert an echo between the gunzips, or simply
>trust that the empty line is not needed as separator, or begin to think ...

Might just work, yeah!

-- 
Steve McIntyre, Cambridge, UK.st...@einval.com
< liw> everything I know about UK hotels I learned from "Fawlty Towers"



Bug#1011343: WISHLIST: Offical ALL-IN-ONE images?

2022-05-22 Thread Zhang Boyang

Hi,

On 2022/5/23 01:18, Thomas Schmitt wrote:

How can i verify that the resulting ISO properly announces all its
packages ?
(If i install it to a VM, what must i do to challenge its completeness ?)


I came up with a idea. Maybe you can use 'debian-cd' to create a DLBD 
set, say disc A1 and A2, then create another ALL-IN-ONE set, say disc B. 
Then compare if A1+A2==B. There might be small differences, like the 
package order in Packages.gz, but I think if the overall format is OK, 
then it will be OK.



Best Regards,
Zhang Boyang



Re: OT: Setting up a local mirror [WAS Re: Bug#1011343: WISHLIST: Offical ALL-IN-ONE images?]

2022-05-22 Thread Zhang Boyang

Hi,

Thanks for this information :-) I will try it.

Best Regards,
Zhang Boyang


> Quoting myself - which might be bad form
>
> 
http://flosslinuxblog.blogspot.com/2020/02/rebuilding-mirror-software-mirroring-of.html 


>
> gives the full steps to set up a mirror by editing one script, more 
or less.

>
> You do need rsync and a mirror to pull from but this is really, 
really easy to do.

>
> Setting up Apache is covered in another blog in that series at almost the
> same time - it's essentially just unocmmenting the stanza for /srv in 
the

> default configuration. [My mirror directories are all under /srv ]
>
> Hope this helps,
>
> Andy Cater



Bug#1011343: WISHLIST: Offical ALL-IN-ONE images?

2022-05-22 Thread Thomas Schmitt
Hi,

Steve McIntyre wrote:
> youre initial guess is correct. We don't generate the .iso files
> at all for the larger images [1]. This means we also don't have
> torrent files for them [2].

I began to ponder about a shortcut in libisofs which would trust the
checksum file (-checksum-list , -md5-list) enough to omit the reading of
all the package files' content.
Size, ownership, permissions, et.al would still be taken from the package
files on disk. No ISO image would emerge (because of no valid file content)
but .jigdo and .template would be created.
Probably libjte would need an API extension so that it knows that only
the count parameter of a libjte_show_data_chunk() call is valid.
Vice versa libisofs would have to ask libjte whether a particular file
is covered by the checksum list.

All tricky and probably not worth the risk of embarassing failure.


So back to my idea of merging ISOs:

> The debian-cd code in tools/make_disc_trees.pl is not documentation
> **as such**, but it's exactly how we create disc trees:

I am using it now for checking detail questions.


> It's baiscally just making a self-contained apt repository on each medium.

So
  https://wiki.debian.org/DebianRepository/Format
looks like the specs to follow.

Question (to everybody):

The description of Packages[.gz] files talks of "paragraphs" but does not
exactly define a paragraph's end delimiter. From Packages.gz in the ISO
i'd guess it is an empty line or the "Package" field of the next paragraph.

Is an empty line needed between paragraphs ?
Would more than one empty line between paragraphs damage the readability ?

Reason: I want to merge the Packages.gz files like

  (gunzip temp_file

but am not sure that the found Packages.gz will always end by an empty
line.  So i could simply insert an echo between the gunzips, or simply
trust that the empty line is not needed as separator, or begin to think ...


Have a nice day :)

Thomas