public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] Using emerge-webrsync to simplify the handbook
@ 2012-11-28 13:54 Richard Yao
  2012-11-28 14:17 ` Maxim Kammerer
  2012-11-29  9:21 ` Markos Chandras
  0 siblings, 2 replies; 24+ messages in thread
From: Richard Yao @ 2012-11-28 13:54 UTC (permalink / raw
  To: gentoo-dev@lists.gentoo.org

[-- Attachment #1: Type: text/plain, Size: 162 bytes --]

We could slightly simplify the handbook installation procedure if we
told people to use emerge-webrsync to fetch the initial snapshot. What
do people think?


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 900 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-11-28 13:54 [gentoo-dev] Using emerge-webrsync to simplify the handbook Richard Yao
@ 2012-11-28 14:17 ` Maxim Kammerer
  2012-11-28 15:05   ` Richard Yao
  2012-11-29  9:21 ` Markos Chandras
  1 sibling, 1 reply; 24+ messages in thread
From: Maxim Kammerer @ 2012-11-28 14:17 UTC (permalink / raw
  To: gentoo-dev

On Wed, Nov 28, 2012 at 3:54 PM, Richard Yao <ryao@gentoo.org> wrote:
> We could slightly simplify the handbook installation procedure if we
> told people to use emerge-webrsync to fetch the initial snapshot.

Using emerge-webrsync also makes the installation process more robust,
since it only requires HTTP access (whereas many firewalls restrict
RSYNC). Besides, emerge-webrsync can check PGP signatures, so I think
that it should be the primary recommended portage tree synchronization
method.

-- 
Maxim Kammerer
Liberté Linux: http://dee.su/liberte


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-11-28 14:17 ` Maxim Kammerer
@ 2012-11-28 15:05   ` Richard Yao
  2012-11-28 16:08     ` Matthew Thode
  2012-11-28 17:50     ` Michał Górny
  0 siblings, 2 replies; 24+ messages in thread
From: Richard Yao @ 2012-11-28 15:05 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 905 bytes --]

On 11/28/2012 09:17 AM, Maxim Kammerer wrote:
> On Wed, Nov 28, 2012 at 3:54 PM, Richard Yao <ryao@gentoo.org> wrote:
>> We could slightly simplify the handbook installation procedure if we
>> told people to use emerge-webrsync to fetch the initial snapshot.
> 
> Using emerge-webrsync also makes the installation process more robust,
> since it only requires HTTP access (whereas many firewalls restrict
> RSYNC). Besides, emerge-webrsync can check PGP signatures, so I think
> that it should be the primary recommended portage tree synchronization
> method.
> 

The only downside of which I am aware is increased network traffic.
However, we could redesign emerge-webrsync to take advantage of GNU
Tar's incremental archive functionality.

That would permit us to mirror compressed diffs in addition to regular
portage snapshots. Doing that well could reduce bandwidth requirements.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 900 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-11-28 15:05   ` Richard Yao
@ 2012-11-28 16:08     ` Matthew Thode
  2012-11-30 15:57       ` Richard Yao
  2012-11-28 17:50     ` Michał Górny
  1 sibling, 1 reply; 24+ messages in thread
From: Matthew Thode @ 2012-11-28 16:08 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1050 bytes --]

On 11/28/2012 09:05 AM, Richard Yao wrote:
> On 11/28/2012 09:17 AM, Maxim Kammerer wrote:
>> On Wed, Nov 28, 2012 at 3:54 PM, Richard Yao <ryao@gentoo.org> wrote:
>>> We could slightly simplify the handbook installation procedure if we
>>> told people to use emerge-webrsync to fetch the initial snapshot.
>>
>> Using emerge-webrsync also makes the installation process more robust,
>> since it only requires HTTP access (whereas many firewalls restrict
>> RSYNC). Besides, emerge-webrsync can check PGP signatures, so I think
>> that it should be the primary recommended portage tree synchronization
>> method.
>>
> 
> The only downside of which I am aware is increased network traffic.
> However, we could redesign emerge-webrsync to take advantage of GNU
> Tar's incremental archive functionality.
> 
> That would permit us to mirror compressed diffs in addition to regular
> portage snapshots. Doing that well could reduce bandwidth requirements.
> 
weekly fulls and daily diffs?

-- 
-- Matthew Thode (prometheanfire)


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-11-28 15:05   ` Richard Yao
  2012-11-28 16:08     ` Matthew Thode
@ 2012-11-28 17:50     ` Michał Górny
  2012-11-30 17:35       ` Zac Medico
  1 sibling, 1 reply; 24+ messages in thread
From: Michał Górny @ 2012-11-28 17:50 UTC (permalink / raw
  To: gentoo-dev; +Cc: ryao

[-- Attachment #1: Type: text/plain, Size: 1376 bytes --]

On Wed, 28 Nov 2012 10:05:55 -0500
Richard Yao <ryao@gentoo.org> wrote:

> On 11/28/2012 09:17 AM, Maxim Kammerer wrote:
> > On Wed, Nov 28, 2012 at 3:54 PM, Richard Yao <ryao@gentoo.org> wrote:
> >> We could slightly simplify the handbook installation procedure if we
> >> told people to use emerge-webrsync to fetch the initial snapshot.
> > 
> > Using emerge-webrsync also makes the installation process more robust,
> > since it only requires HTTP access (whereas many firewalls restrict
> > RSYNC). Besides, emerge-webrsync can check PGP signatures, so I think
> > that it should be the primary recommended portage tree synchronization
> > method.
> > 
> 
> The only downside of which I am aware is increased network traffic.
> However, we could redesign emerge-webrsync to take advantage of GNU
> Tar's incremental archive functionality.
> 
> That would permit us to mirror compressed diffs in addition to regular
> portage snapshots. Doing that well could reduce bandwidth requirements.

There's emerge-delta-webrsync but it's mostly hand-work to reconstruct
the webrsync tarball. Therefore, it is very slow and not worth
the effort when syncing often.

However, I'm not aware of gnu tar's incremental archive. If it's much
faster than the above, then it should probably replace
emerge-delta-webrsync.

-- 
Best regards,
Michał Górny

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 316 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-11-28 13:54 [gentoo-dev] Using emerge-webrsync to simplify the handbook Richard Yao
  2012-11-28 14:17 ` Maxim Kammerer
@ 2012-11-29  9:21 ` Markos Chandras
  2012-11-30 11:46   ` Sven Vermeulen
  1 sibling, 1 reply; 24+ messages in thread
From: Markos Chandras @ 2012-11-29  9:21 UTC (permalink / raw
  To: gentoo-dev

On 28 November 2012 13:54, Richard Yao <ryao@gentoo.org> wrote:
> We could slightly simplify the handbook installation procedure if we
> told people to use emerge-webrsync to fetch the initial snapshot. What
> do people think?
>

Seems a good improvement to me.

-- 
Regards,
Markos Chandras / Gentoo Linux Developer / Key ID: B4AFF2C2


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-11-29  9:21 ` Markos Chandras
@ 2012-11-30 11:46   ` Sven Vermeulen
  2012-11-30 15:44     ` Richard Yao
  0 siblings, 1 reply; 24+ messages in thread
From: Sven Vermeulen @ 2012-11-30 11:46 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 389 bytes --]

On Nov 29, 2012 10:24 AM, "Markos Chandras" <hwoarang@gentoo.org> wrote:
> > We could slightly simplify the handbook installation procedure if we
> > told people to use emerge-webrsync to fetch the initial snapshot. What
> > do people think?
> >
>
> Seems a good improvement to me.

I'm ok with it as well. I'll draft up something. I suspect emerge-webrsync
is available on all platforms?

[-- Attachment #2: Type: text/html, Size: 551 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-11-30 11:46   ` Sven Vermeulen
@ 2012-11-30 15:44     ` Richard Yao
  2012-12-08 20:41       ` Sven Vermeulen
  0 siblings, 1 reply; 24+ messages in thread
From: Richard Yao @ 2012-11-30 15:44 UTC (permalink / raw
  To: gentoo-dev; +Cc: Sven Vermeulen

[-- Attachment #1: Type: text/plain, Size: 497 bytes --]

On 11/30/2012 06:46 AM, Sven Vermeulen wrote:
> On Nov 29, 2012 10:24 AM, "Markos Chandras" <hwoarang@gentoo.org> wrote:
>>> We could slightly simplify the handbook installation procedure if we
>>> told people to use emerge-webrsync to fetch the initial snapshot. What
>>> do people think?
>>>
>>
>> Seems a good improvement to me.
> 
> I'm ok with it as well. I'll draft up something. I suspect emerge-webrsync
> is available on all platforms?
> 

It is part of sys-apps/portage.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 900 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-11-28 16:08     ` Matthew Thode
@ 2012-11-30 15:57       ` Richard Yao
  2012-11-30 16:15         ` Michael Mol
  2012-11-30 17:12         ` Maxim Kammerer
  0 siblings, 2 replies; 24+ messages in thread
From: Richard Yao @ 2012-11-30 15:57 UTC (permalink / raw
  To: gentoo-dev; +Cc: Matthew Thode

[-- Attachment #1: Type: text/plain, Size: 1632 bytes --]

On 11/28/2012 11:08 AM, Matthew Thode wrote:
> On 11/28/2012 09:05 AM, Richard Yao wrote:
>> On 11/28/2012 09:17 AM, Maxim Kammerer wrote:
>>> On Wed, Nov 28, 2012 at 3:54 PM, Richard Yao <ryao@gentoo.org> wrote:
>>>> We could slightly simplify the handbook installation procedure if we
>>>> told people to use emerge-webrsync to fetch the initial snapshot.
>>>
>>> Using emerge-webrsync also makes the installation process more robust,
>>> since it only requires HTTP access (whereas many firewalls restrict
>>> RSYNC). Besides, emerge-webrsync can check PGP signatures, so I think
>>> that it should be the primary recommended portage tree synchronization
>>> method.
>>>
>>
>> The only downside of which I am aware is increased network traffic.
>> However, we could redesign emerge-webrsync to take advantage of GNU
>> Tar's incremental archive functionality.
>>
>> That would permit us to mirror compressed diffs in addition to regular
>> portage snapshots. Doing that well could reduce bandwidth requirements.
>>
> weekly fulls and daily diffs?
> 

Determining what is right here probably requires calculus, but this
scheme does not seem like a bad choice to me. My main concern is that
maintaining weekly full snapshots would require too much space for the
mirrors. It might be better go monthly, with diffs on the following
intervals:

1 week
1 day
30 minutes

Doing that would eliminate the benefit of rsync entirely, with the
caveat that we now need to mirror a ton of diffs. This would make it
easy for us to provide the ability to obtain historical snapshots, which
would be nice.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 900 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-11-30 15:57       ` Richard Yao
@ 2012-11-30 16:15         ` Michael Mol
  2012-11-30 16:59           ` Ian Stakenvicius
  2012-11-30 17:12         ` Maxim Kammerer
  1 sibling, 1 reply; 24+ messages in thread
From: Michael Mol @ 2012-11-30 16:15 UTC (permalink / raw
  To: gentoo-dev

On Fri, Nov 30, 2012 at 10:57 AM, Richard Yao <ryao@gentoo.org> wrote:
> On 11/28/2012 11:08 AM, Matthew Thode wrote:
>> On 11/28/2012 09:05 AM, Richard Yao wrote:
>>> On 11/28/2012 09:17 AM, Maxim Kammerer wrote:
>>>> On Wed, Nov 28, 2012 at 3:54 PM, Richard Yao <ryao@gentoo.org> wrote:
>>>>> We could slightly simplify the handbook installation procedure if we
>>>>> told people to use emerge-webrsync to fetch the initial snapshot.
>>>>
>>>> Using emerge-webrsync also makes the installation process more robust,
>>>> since it only requires HTTP access (whereas many firewalls restrict
>>>> RSYNC). Besides, emerge-webrsync can check PGP signatures, so I think
>>>> that it should be the primary recommended portage tree synchronization
>>>> method.
>>>>
>>>
>>> The only downside of which I am aware is increased network traffic.
>>> However, we could redesign emerge-webrsync to take advantage of GNU
>>> Tar's incremental archive functionality.
>>>
>>> That would permit us to mirror compressed diffs in addition to regular
>>> portage snapshots. Doing that well could reduce bandwidth requirements.
>>>
>> weekly fulls and daily diffs?
>>
>
> Determining what is right here probably requires calculus, but this
> scheme does not seem like a bad choice to me. My main concern is that
> maintaining weekly full snapshots would require too much space for the
> mirrors. It might be better go monthly, with diffs on the following
> intervals:
>
> 1 week
> 1 day
> 30 minutes
>
> Doing that would eliminate the benefit of rsync entirely, with the
> caveat that we now need to mirror a ton of diffs. This would make it
> easy for us to provide the ability to obtain historical snapshots, which
> would be nice.

Worth noting that all this moves us nicely in the direction of
allowing HTTP proxies to cache data, reducing load on mirrors. And
moves us in the direction of implementing mirrors themselves as a
network of caching proxies.

--
:wq


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-11-30 16:15         ` Michael Mol
@ 2012-11-30 16:59           ` Ian Stakenvicius
  2012-11-30 17:30             ` Alec Warner
  0 siblings, 1 reply; 24+ messages in thread
From: Ian Stakenvicius @ 2012-11-30 16:59 UTC (permalink / raw
  To: gentoo-dev

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 30/11/12 11:15 AM, Michael Mol wrote:
> On Fri, Nov 30, 2012 at 10:57 AM, Richard Yao <ryao@gentoo.org>
> wrote:
>> On 11/28/2012 11:08 AM, Matthew Thode wrote:
>>> On 11/28/2012 09:05 AM, Richard Yao wrote:
>>>> On 11/28/2012 09:17 AM, Maxim Kammerer wrote:
>>>>> On Wed, Nov 28, 2012 at 3:54 PM, Richard Yao
>>>>> <ryao@gentoo.org> wrote:
>>>>>> We could slightly simplify the handbook installation
>>>>>> procedure if we told people to use emerge-webrsync to
>>>>>> fetch the initial snapshot.
>>>>> 
>>>>> Using emerge-webrsync also makes the installation process
>>>>> more robust, since it only requires HTTP access (whereas
>>>>> many firewalls restrict RSYNC). Besides, emerge-webrsync
>>>>> can check PGP signatures, so I think that it should be the
>>>>> primary recommended portage tree synchronization method.
>>>>> 
>>>> 
>>>> The only downside of which I am aware is increased network
>>>> traffic. However, we could redesign emerge-webrsync to take
>>>> advantage of GNU Tar's incremental archive functionality.
>>>> 
>>>> That would permit us to mirror compressed diffs in addition
>>>> to regular portage snapshots. Doing that well could reduce
>>>> bandwidth requirements.
>>>> 
>>> weekly fulls and daily diffs?
>>> 
>> 
>> Determining what is right here probably requires calculus, but
>> this scheme does not seem like a bad choice to me. My main
>> concern is that maintaining weekly full snapshots would require
>> too much space for the mirrors. It might be better go monthly,
>> with diffs on the following intervals:
>> 
>> 1 week 1 day 30 minutes
>> 
>> Doing that would eliminate the benefit of rsync entirely, with
>> the caveat that we now need to mirror a ton of diffs. This would
>> make it easy for us to provide the ability to obtain historical
>> snapshots, which would be nice.
> 
> Worth noting that all this moves us nicely in the direction of 
> allowing HTTP proxies to cache data, reducing load on mirrors. And 
> moves us in the direction of implementing mirrors themselves as a 
> network of caching proxies.
> 

Idea makes sense, I wonder if implementation would be better served by
leveraging the fact that we already produce daily full snapshots:

1 - continue to provide the daily snapshots we do now
2 - provide two weeks (more?) of daily diffs, such that a daily
snapshot from up to two weeks ago can be updated to present day
3 - provide hourly or 30-minute update diffs to get latest changes.

If the tree is more than two weeks old, emerge-webrsync would just
grab the latest daily plus the hourly diffs.

If the tree is less than two weeks old, grab the daily diffs and
hourly diffs.  The local copy of the tree itself would need to be
rolled back to the best-available daily diff before these diff updates
could be applied; this may mean that a local cache of the latest
full-day snapshot needs to be kept and/or generated.  Also if said
cache doesn't exist, then the whole full-day snapshot would be grabbed.

The advantage to this would be significantly fewer distfiles, although
the logic in emerge-webrsync would possibly be more complex.

Regarding rolling back the local tree to a known-good state, I think
that would be required regardless of the method as any local changes
made to the tree by users would need to be discarded, right?

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)

iF4EAREIAAYFAlC45f0ACgkQ2ugaI38ACPChKgD9GOBptQ9jJ1/eYyq1NEl5Oq1E
dVy9UOab80bG5FZB9LwBAKwsifnT+iE3n/4d/ljnuT2qCnbtXNYr7yBjF/VcEpkq
=y9eB
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-11-30 15:57       ` Richard Yao
  2012-11-30 16:15         ` Michael Mol
@ 2012-11-30 17:12         ` Maxim Kammerer
  1 sibling, 0 replies; 24+ messages in thread
From: Maxim Kammerer @ 2012-11-30 17:12 UTC (permalink / raw
  To: gentoo-dev

On Fri, Nov 30, 2012 at 5:57 PM, Richard Yao <ryao@gentoo.org> wrote:
> My main concern is that
> maintaining weekly full snapshots would require too much space for the
> mirrors.

Mirrors already keep last 8 full daily snapshots, in 2 formats each, e.g.:
http://mirrors.kernel.org/gentoo/snapshots/

-- 
Maxim Kammerer
Liberté Linux: http://dee.su/liberte


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-11-30 16:59           ` Ian Stakenvicius
@ 2012-11-30 17:30             ` Alec Warner
  2012-11-30 18:06               ` Ian Stakenvicius
  2012-12-01  8:41               ` Richard Yao
  0 siblings, 2 replies; 24+ messages in thread
From: Alec Warner @ 2012-11-30 17:30 UTC (permalink / raw
  To: gentoo-dev

On Fri, Nov 30, 2012 at 8:59 AM, Ian Stakenvicius <axs@gentoo.org> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> On 30/11/12 11:15 AM, Michael Mol wrote:
>> On Fri, Nov 30, 2012 at 10:57 AM, Richard Yao <ryao@gentoo.org>
>> wrote:
>>> On 11/28/2012 11:08 AM, Matthew Thode wrote:
>>>> On 11/28/2012 09:05 AM, Richard Yao wrote:
>>>>> On 11/28/2012 09:17 AM, Maxim Kammerer wrote:
>>>>>> On Wed, Nov 28, 2012 at 3:54 PM, Richard Yao
>>>>>> <ryao@gentoo.org> wrote:
>>>>>>> We could slightly simplify the handbook installation
>>>>>>> procedure if we told people to use emerge-webrsync to
>>>>>>> fetch the initial snapshot.
>>>>>>
>>>>>> Using emerge-webrsync also makes the installation process
>>>>>> more robust, since it only requires HTTP access (whereas
>>>>>> many firewalls restrict RSYNC). Besides, emerge-webrsync
>>>>>> can check PGP signatures, so I think that it should be the
>>>>>> primary recommended portage tree synchronization method.
>>>>>>
>>>>>
>>>>> The only downside of which I am aware is increased network
>>>>> traffic. However, we could redesign emerge-webrsync to take
>>>>> advantage of GNU Tar's incremental archive functionality.
>>>>>
>>>>> That would permit us to mirror compressed diffs in addition
>>>>> to regular portage snapshots. Doing that well could reduce
>>>>> bandwidth requirements.
>>>>>
>>>> weekly fulls and daily diffs?
>>>>
>>>
>>> Determining what is right here probably requires calculus, but
>>> this scheme does not seem like a bad choice to me. My main
>>> concern is that maintaining weekly full snapshots would require
>>> too much space for the mirrors. It might be better go monthly,
>>> with diffs on the following intervals:
>>>
>>> 1 week 1 day 30 minutes
>>>
>>> Doing that would eliminate the benefit of rsync entirely, with
>>> the caveat that we now need to mirror a ton of diffs. This would
>>> make it easy for us to provide the ability to obtain historical
>>> snapshots, which would be nice.
>>
>> Worth noting that all this moves us nicely in the direction of
>> allowing HTTP proxies to cache data, reducing load on mirrors. And
>> moves us in the direction of implementing mirrors themselves as a
>> network of caching proxies.
>>
>
> Idea makes sense, I wonder if implementation would be better served by
> leveraging the fact that we already produce daily full snapshots:
>
> 1 - continue to provide the daily snapshots we do now
> 2 - provide two weeks (more?) of daily diffs, such that a daily
> snapshot from up to two weeks ago can be updated to present day
> 3 - provide hourly or 30-minute update diffs to get latest changes.
>
> If the tree is more than two weeks old, emerge-webrsync would just
> grab the latest daily plus the hourly diffs.
>
> If the tree is less than two weeks old, grab the daily diffs and
> hourly diffs.  The local copy of the tree itself would need to be
> rolled back to the best-available daily diff before these diff updates
> could be applied; this may mean that a local cache of the latest
> full-day snapshot needs to be kept and/or generated.  Also if said
> cache doesn't exist, then the whole full-day snapshot would be grabbed.
>
> The advantage to this would be significantly fewer distfiles, although
> the logic in emerge-webrsync would possibly be more complex.
>
> Regarding rolling back the local tree to a known-good state, I think
> that would be required regardless of the method as any local changes
> made to the tree by users would need to be discarded, right?

How about we not change the docs until someone eagerly implements all
the stuff you just said?

Note that from an infra POV our existing system works fairly well and
requires no day-to-day tinkering.
I'm always happy to consider new options, but work needs to put in to
make it feasible. I'm sure if we switched to http with zsync or
something, we could make it feasible. I want to see a prototype, etc.

-A

>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.19 (GNU/Linux)
>
> iF4EAREIAAYFAlC45f0ACgkQ2ugaI38ACPChKgD9GOBptQ9jJ1/eYyq1NEl5Oq1E
> dVy9UOab80bG5FZB9LwBAKwsifnT+iE3n/4d/ljnuT2qCnbtXNYr7yBjF/VcEpkq
> =y9eB
> -----END PGP SIGNATURE-----
>


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-11-28 17:50     ` Michał Górny
@ 2012-11-30 17:35       ` Zac Medico
  2012-12-01 22:44         ` Robin H. Johnson
  0 siblings, 1 reply; 24+ messages in thread
From: Zac Medico @ 2012-11-30 17:35 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny, ryao

On 11/28/2012 09:50 AM, Michał Górny wrote:
> On Wed, 28 Nov 2012 10:05:55 -0500
> Richard Yao <ryao@gentoo.org> wrote:
> 
>> On 11/28/2012 09:17 AM, Maxim Kammerer wrote:
>>> On Wed, Nov 28, 2012 at 3:54 PM, Richard Yao <ryao@gentoo.org> wrote:
>>>> We could slightly simplify the handbook installation procedure if we
>>>> told people to use emerge-webrsync to fetch the initial snapshot.
>>>
>>> Using emerge-webrsync also makes the installation process more robust,
>>> since it only requires HTTP access (whereas many firewalls restrict
>>> RSYNC). Besides, emerge-webrsync can check PGP signatures, so I think
>>> that it should be the primary recommended portage tree synchronization
>>> method.
>>>
>>
>> The only downside of which I am aware is increased network traffic.
>> However, we could redesign emerge-webrsync to take advantage of GNU
>> Tar's incremental archive functionality.
>>
>> That would permit us to mirror compressed diffs in addition to regular
>> portage snapshots. Doing that well could reduce bandwidth requirements.
> 
> There's emerge-delta-webrsync but it's mostly hand-work to reconstruct
> the webrsync tarball. Therefore, it is very slow and not worth
> the effort when syncing often.

At least because I maintain emerge-delta-webrsync, I use it regularly as
my sync method. Latest versions of emerge-delta-webrsync use a temp
directory inside $PORTAGE_TMPDIR/portage, on which I have a tmpfs
filesystem mounted. With tmpfs, performance does not seem so bad (using
a sandy bridge core i5 here).

> However, I'm not aware of gnu tar's incremental archive. If it's much
> faster than the above, then it should probably replace
> emerge-delta-webrsync.

If it has benefits over the current diffball approach used by
emerge-delta-webrsync, then it seems like a good idea. It would be nice
to integrate it directly into emerge-webrsync, and eventually deprecate
emerge-delta-webrsync.
-- 
Thanks,
Zac


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-11-30 17:30             ` Alec Warner
@ 2012-11-30 18:06               ` Ian Stakenvicius
  2012-12-01  5:55                 ` Alec Warner
  2012-12-01  8:31                 ` Richard Yao
  2012-12-01  8:41               ` Richard Yao
  1 sibling, 2 replies; 24+ messages in thread
From: Ian Stakenvicius @ 2012-11-30 18:06 UTC (permalink / raw
  To: gentoo-dev

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 30/11/12 12:30 PM, Alec Warner wrote:
>> How about we not change the docs until someone eagerly implements
>> all the stuff you just said?
> 

Well, using emerge-webrsync for grabbing the initial snapshot during
an installation still makes sense regardless of whether or not we do
any of the above, iirc that was the original documentation request
change wasn't it?


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)

iF4EAREIAAYFAlC49Y4ACgkQ2ugaI38ACPDETgD/ZzleSQxyWCrgBYc8vg5Wvviz
QVpnQa7CRF33qVYvYkkBAKDUx6bB2LbPmGQgFm22su72i32tKfUqiKOgEs6tgboa
=CNSD
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-11-30 18:06               ` Ian Stakenvicius
@ 2012-12-01  5:55                 ` Alec Warner
  2012-12-01  8:04                   ` Zac Medico
  2012-12-01  8:31                 ` Richard Yao
  1 sibling, 1 reply; 24+ messages in thread
From: Alec Warner @ 2012-12-01  5:55 UTC (permalink / raw
  To: gentoo-dev

On Fri, Nov 30, 2012 at 10:06 AM, Ian Stakenvicius <axs@gentoo.org> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> On 30/11/12 12:30 PM, Alec Warner wrote:
>>> How about we not change the docs until someone eagerly implements
>>> all the stuff you just said?
>>
>
> Well, using emerge-webrsync for grabbing the initial snapshot during
> an installation still makes sense regardless of whether or not we do
> any of the above, iirc that was the original documentation request
> change wasn't it?

Zac can probably comment on where it fetches from. I can say with some
certainty that we have enough rsync capacity, I can't say the same for
HTTP based services.

-A

>
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.19 (GNU/Linux)
>
> iF4EAREIAAYFAlC49Y4ACgkQ2ugaI38ACPDETgD/ZzleSQxyWCrgBYc8vg5Wvviz
> QVpnQa7CRF33qVYvYkkBAKDUx6bB2LbPmGQgFm22su72i32tKfUqiKOgEs6tgboa
> =CNSD
> -----END PGP SIGNATURE-----
>


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-12-01  5:55                 ` Alec Warner
@ 2012-12-01  8:04                   ` Zac Medico
  0 siblings, 0 replies; 24+ messages in thread
From: Zac Medico @ 2012-12-01  8:04 UTC (permalink / raw
  To: gentoo-dev, antarus

[-- Attachment #1: Type: text/plain, Size: 883 bytes --]

On 11/30/2012 09:55 PM, Alec Warner wrote:
> On Fri, Nov 30, 2012 at 10:06 AM, Ian Stakenvicius <axs@gentoo.org> wrote:
> On 30/11/12 12:30 PM, Alec Warner wrote:
>>>>> How about we not change the docs until someone eagerly implements
>>>>> all the stuff you just said?
>>>>
> 
> Well, using emerge-webrsync for grabbing the initial snapshot during
> an installation still makes sense regardless of whether or not we do
> any of the above, iirc that was the original documentation request
> change wasn't it?
> 
>> Zac can probably comment on where it fetches from. I can say with some
>> certainty that we have enough rsync capacity, I can't say the same for
>> HTTP based services.

I just did a quick test on 107 http mirrors returned from mirrorselect
--list-only, and found that 102 returned a mirror://snapshots/index.html
containing the string "portage-2012".
-- 
Thanks,
Zac

[-- Attachment #2: Add-mirrorselect-list-only-option.patch --]
[-- Type: text/x-patch, Size: 1576 bytes --]

From a4126418bf102f70249092cab9fa294be5b27635 Mon Sep 17 00:00:00 2001
From: Zac Medico <zmedico@gentoo.org>
Date: Fri, 30 Nov 2012 23:28:30 -0800
Subject: [PATCH] Add mirrorselect --list-only option

---
 mirrorselect/main.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/mirrorselect/main.py b/mirrorselect/main.py
index 55c1cb0..02f15ae 100755
--- a/mirrorselect/main.py
+++ b/mirrorselect/main.py
@@ -260,6 +260,9 @@ class MirrorSelect(object):
 
 		group = parser.add_option_group("Other options")
 		group.add_option(
+			"--list-only", action="store_true", default=False,
+			help="Output the list of available candidate host urls and then quit.")
+		group.add_option(
 			"-o", "--output", action="store_true", default=False,
 			help="Output Only Mode, this is especially useful "
 			"when being used during installation, to redirect "
@@ -319,7 +322,7 @@ class MirrorSelect(object):
 				'You do not appear to have netselect on your system. '
 				'You must use the -D flag')
 
-		if (os.getuid() != 0) and not options.output:
+		if (os.getuid() != 0) and not (options.output or options.list_only):
 			self.output.print_err('Must be root to write to %s!\n' % config_path)
 
 		if args:
@@ -393,6 +396,10 @@ class MirrorSelect(object):
 		fsmirrors = self.get_filesystem_mirrors(config_path, options.rsync)
 
 		hosts = self.get_available_hosts(options)
+		if options.list_only:
+			sys.stdout.write("".join("%s\n" % url[0] for url in hosts))
+			sys.stdout.flush()
+			return
 
 		urls = self.select_urls(hosts, options)
 
-- 
1.8.0


[-- Attachment #3: snapshots_http_urls.txt --]
[-- Type: text/plain, Size: 4849 bytes --]

http://archive.mmu.edu.my/gentoo/snapshots/
http://cesium.di.uminho.pt/pub/gentoo/snapshots/
http://chi-10g-1-mirror.fastsoft.net/pub/linux/gentoo/gentoo-distfiles/snapshots/
http://darkstar.ist.utl.pt/gentoo/snapshots/
http://de-mirror.org/gentoo/snapshots/
http://distfiles.gentoo.bg/snapshots/
http://files.gentoo.gr/snapshots/
http://ftp.cc.uoc.gr/mirrors/linux/gentoo/snapshots/
http://ftp.daum.net/gentoo/snapshots/
http://ftp.dei.uc.pt/pub/linux/gentoo/snapshots/
http://ftp.df.lth.se/pub/gentoo/snapshots/
http://ftp.fi.muni.cz/pub/linux/gentoo/snapshots/
http://ftp.gentoo.bg/snapshots/
http://ftp.halifax.rwth-aachen.de/gentoo/snapshots/
http://ftp.heanet.ie/pub/gentoo/snapshots/
http://ftp.iij.ad.jp/pub/linux/gentoo/snapshots/
http://ftp.jaist.ac.jp/pub/Linux/Gentoo/snapshots/
http://ftp.kaist.ac.kr/pub/gentoo/snapshots/
http://ftp.klid.dk/ftp/gentoo/snapshots/
http://ftp.lecl.net/pub/gentoo/snapshots/
http://ftp.linux.org.tr/gentoo/snapshots/
http://ftp.ntua.gr/pub/linux/gentoo/snapshots/
http://ftp.rhnet.is/pub/gentoo/snapshots/
http://ftp.rnl.ist.utl.pt/pub/gentoo/gentoo-distfiles/snapshots/
http://ftp.romnet.org/gentoo/snapshots/
http://ftp.snt.utwente.nl/pub/os/linux/gentoo/snapshots/
http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/snapshots/
http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/snapshots/
http://ftp.swin.edu.au/gentoo/snapshots/
http://ftp.twaren.net/Linux/Gentoo/snapshots/
http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/snapshots/
http://ftp.uni-erlangen.de/pub/mirrors/gentoo/snapshots/
http://ftp.vectranet.pl/gentoo/snapshots/
http://gd.tuwien.ac.at/opsys/linux/gentoo/snapshots/
http://gentoo.aditsu.net:8000/snapshots/
http://gentoo.arcticnetwork.ca/snapshots/
http://gentoo.bloodhost.ru/snapshots/
http://gentoo.c3sl.ufpr.br/snapshots/
http://gentoo.channelx.biz/snapshots/
http://gentoo.cites.uiuc.edu/pub/gentoo/snapshots/
http://gentoo.cs.nctu.edu.tw/gentoo/snapshots/
http://gentoo.cs.uni.edu/snapshots/
http://gentoo-euetib.upc.es/mirror/gentoo/snapshots/
http://gentoo.gg3.net/snapshots/
http://gentoo.gossamerhost.com/snapshots/
http://gentoo.inf.elte.hu/snapshots/
http://gentoo.inode.at/snapshots/
http://gentoo.in.th/snapshots/
http://gentoo.iteam.net.ua/snapshots/
http://gentoo.kems.net/snapshots/
http://gentoo.kiev.ua/ftp/snapshots/
http://gentoo.lagis.at/snapshots/
http://gentoo.llarian.net/snapshots/
http://gentoo.localhost.net.ar/snapshots/
http://gentoo.mirror.dkm.cz/pub/gentoo/snapshots/
http://gentoo.mirror.pw.edu.pl/snapshots/
http://gentoo.mirrors.easynews.com/linux/gentoo/snapshots/
http://gentoo.mirrors.hoobly.com/snapshots/
http://gentoo.mirrors.pair.com/snapshots/
http://gentoo.mirrors.tds.net/gentoo/snapshots/
http://gentoo.mirrors.tera-byte.com/snapshots/
http://gentoo.mirror.web4u.cz/snapshots/
http://gentoo.mneisen.org/snapshots/
http://gentoo.modulix.net/gentoo/snapshots/
http://gentoo.netnitco.net/snapshots/
http://gentoo.osuosl.org/snapshots/
http://gentoo.po.opole.pl/snapshots/
http://gentoo.prz.rzeszow.pl/snapshots/
http://gentoo.supp.name/snapshots/
http://gentoo.tiscali.nl/snapshots/
http://gentoo.tups.lv/source/snapshots/
http://gentoo.wheel.sk/snapshots/
http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/snapshots/
http://lug.mtu.edu/gentoo/snapshots/
http://mirror2.corbina.ru/gentoo-distfiles/snapshots/
http://mirror.bytemark.co.uk/gentoo/snapshots/
http://mirror.csclub.uwaterloo.ca/gentoo-distfiles/snapshots/
http://mirror.datapipe.net/gentoo/snapshots/
http://mirror.iawnet.sandia.gov/gentoo/snapshots/
http://mirror.isoc.org.il/pub/gentoo/snapshots/
http://mirror.leaseweb.com/gentoo/snapshots/
http://mirror.lug.udel.edu/pub/gentoo/snapshots/
http://mirror.mcs.anl.gov/pub/gentoo/snapshots/
http://mirror.mdfnet.se/gentoo/snapshots/
http://mirror.neolabs.kz/gentoo/pub/snapshots/
http://mirror.netcologne.de/gentoo/snapshots/
http://mirror.opteamax.de/gentoo/snapshots/
http://mirror.ovh.net/gentoo-distfiles/snapshots/
http://mirror.qubenet.net/mirror/gentoo/snapshots/
http://mirrors.163.com/gentoo/snapshots/
http://mirrors.linuxant.fr/distfiles.gentoo.org/snapshots/
http://mirrors.rit.edu/gentoo/snapshots/
http://mirrors.sohu.com/gentoo/snapshots/
http://mirrors.stuhome.net/gentoo/snapshots/
http://mirrors.telepoint.bg/gentoo/snapshots/
http://mirror.switch.ch/ftp/mirror/gentoo/snapshots/
http://mirrors.xmu.edu.cn/gentoo/snapshots/
http://mirrors.xservers.ro/gentoo/snapshots/
http://mirror.the-best-hosting.net/snapshots/
http://mirror.usu.edu/mirrors/gentoo/snapshots/
http://mirror.yandex.ru/gentoo-distfiles/snapshots/
http://portage.org.ua/snapshots/
http://trumpetti.atm.tut.fi/gentoo/snapshots/
http://tux.rainside.sk/gentoo/snapshots/
http://www.gtlib.gatech.edu/pub/gentoo/snapshots/
http://www.las.ic.unicamp.br/pub/gentoo/snapshots/
http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/snapshots/

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-11-30 18:06               ` Ian Stakenvicius
  2012-12-01  5:55                 ` Alec Warner
@ 2012-12-01  8:31                 ` Richard Yao
  1 sibling, 0 replies; 24+ messages in thread
From: Richard Yao @ 2012-12-01  8:31 UTC (permalink / raw
  To: gentoo-dev; +Cc: Ian Stakenvicius

[-- Attachment #1: Type: text/plain, Size: 475 bytes --]

On 11/30/2012 01:06 PM, Ian Stakenvicius wrote:
> On 30/11/12 12:30 PM, Alec Warner wrote:
>>> How about we not change the docs until someone eagerly implements
>>> all the stuff you just said?
> 
> 
> Well, using emerge-webrsync for grabbing the initial snapshot during
> an installation still makes sense regardless of whether or not we do
> any of the above, iirc that was the original documentation request
> change wasn't it?
> 
> 
> 

That is correct.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 900 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-11-30 17:30             ` Alec Warner
  2012-11-30 18:06               ` Ian Stakenvicius
@ 2012-12-01  8:41               ` Richard Yao
  1 sibling, 0 replies; 24+ messages in thread
From: Richard Yao @ 2012-12-01  8:41 UTC (permalink / raw
  To: gentoo-dev; +Cc: Alec Warner

[-- Attachment #1: Type: text/plain, Size: 1028 bytes --]

On 11/30/2012 12:30 PM, Alec Warner wrote:
> How about we not change the docs until someone eagerly implements all
> the stuff you just said?
> 
> Note that from an infra POV our existing system works fairly well and
> requires no day-to-day tinkering.
> I'm always happy to consider new options, but work needs to put in to
> make it feasible. I'm sure if we switched to http with zsync or
> something, we could make it feasible. I want to see a prototype, etc.
> 
> -A

The initial suggestion was to use emerge-webrsync to fetch the initial
portage snapshot, which requires no code changes.

A suggestion was made in response was that we should take this a step
further by using emerge-webrsync for everything. I feel that the code
needs improvements before it can formally replace `emerge --sync` as our
recommended way of updating the tree. Others seem to agree.

That does not impact our ability to use emerge-webrsync to fetch the
initial snapshot in the handbook, which is my original suggestion.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 900 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-11-30 17:35       ` Zac Medico
@ 2012-12-01 22:44         ` Robin H. Johnson
  0 siblings, 0 replies; 24+ messages in thread
From: Robin H. Johnson @ 2012-12-01 22:44 UTC (permalink / raw
  To: gentoo-dev

On Fri, Nov 30, 2012 at 09:35:07AM -0800, Zac Medico wrote:
> > However, I'm not aware of gnu tar's incremental archive. If it's much
> > faster than the above, then it should probably replace
> > emerge-delta-webrsync.
> If it has benefits over the current diffball approach used by
> emerge-delta-webrsync, then it seems like a good idea. It would be nice
> to integrate it directly into emerge-webrsync, and eventually deprecate
> emerge-delta-webrsync.
I went and did a rough comparison of Tar incrementals vs the existing
deltas.

TL;DR:
======
- Existing deltas are 8-9x better than other options.
- We should consider retaining monthly snapshots, plus all the deltas.

Results:
========
1.
Using bzip2 -9 compression:
- Existing deltas are 9x smaller than tar-incremental.
- Existing deltas are 8x smaller than rsync-batch.

2.
If you just want to save bandwidth, the average full snapshot,
compressed w/ BZIP2, is 55M. The average delta is 269k.
55M/269k = ~209.
Ergo it is LESS bandwidth to download ~180 deltas and apply those than
it is to download the full snapshot (assuming upstream side of the
transaction accounts for ~30 snapshots worth of overhead).

Notes:
======
1.
Extracting tar incrementals, you must be VERY careful to perform
operations in the correct order, otherwise removed files will not
actually be deleted.

2.
When the Git repo goes live, we should tag at the point we take the
daily snapshot, and use this to also consider git bundles.

Numbers:
========

Baseline tarball:
57919736 portage-20121123.0.tar.bz2

Tar incrementals, daily:
 2554334 portage-20121123-20121124.1.tar.bz2
 2045216 portage-20121124-20121125.1.tar.bz2
 1936313 portage-20121125-20121126.1.tar.bz2
 2355342 portage-20121126-20121127.1.tar.bz2
 2063612 portage-20121127-20121128.1.tar.bz2
 2582600 portage-20121128-20121129.1.tar.bz2
 2720135 portage-20121129-20121130.1.tar.bz2

Rsync incrementals, daily:
 2224311 portage-20121123-20121124.rsync-batch.bz2
 1869241 portage-20121124-20121125.rsync-batch.bz2
 1802648 portage-20121125-20121126.rsync-batch.bz2
 1936937 portage-20121126-20121127.rsync-batch.bz2
 1868771 portage-20121127-20121128.rsync-batch.bz2
 2240386 portage-20121128-20121129.rsync-batch.bz2
 2028207 portage-20121129-20121130.rsync-batch.bz2

Existing deltas, daily:
 252400 snapshot-20121123-20121124.patch.bz2
 267094 snapshot-20121124-20121125.patch.bz2
 161136 snapshot-20121125-20121126.patch.bz2
 225349 snapshot-20121126-20121127.patch.bz2
 245804 snapshot-20121127-20121128.patch.bz2
 232549 snapshot-20121128-20121129.patch.bz2
 332835 snapshot-20121129-20121130.patch.bz2

Rsync incrementals, from baseline:
 2224311 portage-20121123-20121124.rsync-batch.bz2
 2536620 portage-20121123-20121125.rsync-batch.bz2
 2700715 portage-20121123-20121126.rsync-batch.bz2
 2986403 portage-20121123-20121127.rsync-batch.bz2
 3258723 portage-20121123-20121128.rsync-batch.bz2
 3824015 portage-20121123-20121129.rsync-batch.bz2
 4232674 portage-20121123-20121130.rsync-batch.bz2

-- 
Robin Hugh Johnson
Gentoo Linux: Developer, Trustee & Infrastructure Lead
E-Mail     : robbat2@gentoo.org
GnuPG FP   : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-11-30 15:44     ` Richard Yao
@ 2012-12-08 20:41       ` Sven Vermeulen
  2012-12-09  0:45         ` [gentoo-dev] Handbook updates Was: " Duncan
  2012-12-09  1:10         ` [gentoo-dev] " Rich Freeman
  0 siblings, 2 replies; 24+ messages in thread
From: Sven Vermeulen @ 2012-12-08 20:41 UTC (permalink / raw
  To: gentoo-dev

On Fri, Nov 30, 2012 at 10:44:31AM -0500, Richard Yao wrote:
> On 11/30/2012 06:46 AM, Sven Vermeulen wrote:
> > On Nov 29, 2012 10:24 AM, "Markos Chandras" <hwoarang@gentoo.org> wrote:
> > > > We could slightly simplify the handbook installation procedure if we
> > > > told people to use emerge-webrsync to fetch the initial snapshot. What
> > > > do people think?
> > >
> > > Seems a good improvement to me.
> > 
> > I'm ok with it as well. I'll draft up something. I suspect emerge-webrsync
> > is available on all platforms?
> 
> It is part of sys-apps/portage.

Okay, I've updated the instructions.

First, I removed the references to the stage3 snapshots on the "Universal
CD" as I don't think we have a (recent enough) Universal CD, and we would
recommend the stage3 files from our mirrors anyway.

Second, the Portage tree snapshots are now installed through emerge-webrsync
(which means the entire section on downloading the tarballs, checking
integrity, extracting is now a single paragraph).

Finally, the section on updating the Portage tree (using emerge --sync) is
now marked as optional, with the remark that if you're behind a firewall you
can safely ignore this section as the user will already have a quite
up-to-date tree installed.

I don't know if we should remove the section altogether (about emerge
--sync) or not. It is a small step and users *will* create bug reports about
it if they don't notice it in the documentation anymore. Marking it optional
seems to be a good approach here.

Wkr,
	Sven Vermeulen

PS Commit was made a few minutes ago, so please give it an hour before it
shows up on the site.


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [gentoo-dev] Handbook updates   Was: Using emerge-webrsync to simplify the handbook
  2012-12-08 20:41       ` Sven Vermeulen
@ 2012-12-09  0:45         ` Duncan
  2012-12-09  1:10         ` [gentoo-dev] " Rich Freeman
  1 sibling, 0 replies; 24+ messages in thread
From: Duncan @ 2012-12-09  0:45 UTC (permalink / raw
  To: gentoo-dev

Sven Vermeulen posted on Sat, 08 Dec 2012 20:41:42 +0000 as excerpted:

> On Fri, Nov 30, 2012 at 10:44:31AM -0500, Richard Yao wrote:
>> On 11/30/2012 06:46 AM, Sven Vermeulen wrote:
>> > On Nov 29, 2012 10:24 AM, "Markos Chandras" <hwoarang@gentoo.org>
>> > wrote:
>> > > > We could slightly simplify the handbook installation procedure if
>> > > > we told people to use emerge-webrsync to fetch the initial
>> > > > snapshot. What do people think?

> Okay, I've updated the instructions.

> Second, the Portage tree snapshots are now installed through
> emerge-webrsync (which means the entire section on downloading the
> tarballs, checking integrity, extracting is now a single paragraph).

Thanks, swift.  =:^)

> Finally, the section on updating the Portage tree (using emerge --sync)
> is now marked as optional, with the remark that if you're behind a
> firewall you can safely ignore this section as the user will already
> have a quite up-to-date tree installed.
> 
> I don't know if we should remove the section altogether (about emerge
> --sync) or not. It is a small step and users *will* create bug reports
> about it if they don't notice it in the documentation anymore. Marking
> it optional seems to be a good approach here.

++ on optional.

IMHO, one of the finer points of a good handbook-based install is that it 
"sets the user up for success" by encouraging correct routine maintenance 
practices in the future, stepping them thru the process once during the 
initial install.  Unfortunately, there's /way/ too many users that read 
only the handbook's install section (and perhaps Working with Gentoo) and 
never read the rest, so instilling at least some minimal basics of good 
routine practices there is important.

Thus, even if the webrsync process grabbed them a reasonably fresh (24 
hours) initial tree, keeping the now optional section on updating the 
tree to the very latest is a good idea, since even if it's optional, 
it'll step the new user thru the process at least once, establishing a 
good idea of that routine basic as a good practice for future updates.

...

For the same reason (but likely more controversially), I'd actually argue 
that the install section should (optionally?) step thru installing 
gentoolkit and running revdep-rebuild and emerge --depclean (with an 
appropriate --ask/--pretend first) as the (near) final steps of the 
initial install, as well, even if gentoolkit is the only thing in @world 
when they do so, and it's technically unnecessary as there should be 
nothing to rebuild or depclean.  For depclean especially, establishing 
the practice right at the beginning will help to ensure that @world 
always contains all desired "leaf" packages, and that as a result, users 
will never accumulate a huge backlog of "uncovered" packages subject to 
getting stale due to lack of @world updating, and that an initial depclean 
run when they DO get around to it won't "accidentally" uninstall half 
their system, because it never got in @world to begin with.  (Of course, 
a successful emerge run now includes a helpful depclean reminder anyway, 
but stepping the user thru the process once during the initial guided 
install certainly can't hurt.)

A quick review of the installation section in the manual suggests either 
covering this as part of chapter 11, Finalizing your Gentoo Installation, 
or instead, inserting it as chapter 11, bumping the current 11 and 12 to 
12 and 13.  I'd suggest the latter, with a title for the new chapter 11 
of something like "Your first emerge --update @world".  It could 
encourage readers to look at the working with gentoo and working with 
portage sections for more, but would be an initial step-thru of a basic 
emerge --update @world and related maintenance (allowing a condensing of 
the corresponding chapters in the other sections), for those who never 
read past install in the handbook.  Additionally, with such a title it'd 
be easier for users to refer back to (and see the encouragement to read 
the other sections again, when they maybe have more time to do so) for 
their second update, etc, if they needed to.


One more suggestion while I'm at it.  I remember all those many years ago 
when I first installed gentoo, even after reading and absorbing the 
handbook well enough to be pointing people to specific chapters and 
subchapters in answer to specific questions on the user list, I was still 
somewhat confused about the exact nature of the world list, and what 
packages should be listed there vs. those that shouldn't.  Unless I've 
overlooked it, to this day there's still not a real good explanation of 
the distinction between "leaf packages" and dependencies, and why "leaf 
packages" belong in @world but dependencies don't.  Something along the 
lines of:

"""""

If you want to use and care about that specific package, put it in the 
world list with emerge <package>, without --oneshot.  If you don't really 
care about that specific package and it's simply pulled in by something 
else that you DO care about, but you happen to be specifically emerging 
it anyway, use emerge --oneshot <package>, so it doesn't end up in the 
world list and emerge --depclean can unmerge it in the future if the 
packages pulling it in no longer need it.

"""""

(Actually, here, all my default emerge stub-scripts use --oneshot by 
default.  I use a special "2" (not oneshot) version when I WANT something 
added to @world, which for me is a sort of package testing purgatory 
between "I for sure want to keep it and it's in a set listed in 
world_sets accordingly" and "I'm not sure I really want to keep it yet 
and thus want to be reminded about it the next time I update and then run 
depclean --ask to cleanup.")

As a result of my confusion, I ended up with more packages in the world 
list than I really needed/wanted, and somewhere along the line, I had to 
use some tool (I guess it'd be emaint --clean world, now) to weed out the 
unnecessary cruft in my world list.

(Later, with kde4 and portage 2.2 with sets support, I actually went thru 
and broke my world file into about a dozen individual sets by functional 
category, starting with the kde sets which I sync to those in the kde 
overlay with every 6-month kde4-minor bump, but also including sets such 
as net-admin with traceroute, etc, and net-user with firefox, etc.  This 
was actually as a result of sorting out my existing world list to copy it 
to my netbook, but I've kept everything in sets since then, and I've run 
with an empty world list for about three years now, since everything is 
in sets as enumerated in my world_sets file.  That practice keeps the 
sets that replace my world file REAL clean, since everything listed is in 
its own functional category and each set is small enough it's immediately 
clear upon cat-ing the set whether every package listed in the set is 
something I actually care about or not.  (For the kde sets I keep synced 
with the ones in the overlay, I comment out the libs and apps I don't 
need or care about, but keep them in the set, commented, for easier 
syncing with the overlay versions at the next six-month bump.)  I'm 
really looking forward to the day when proper sets support appears in 
stable portage, and sets can eliminate the unsorted world list mess for 
others just as they have for me.  Unfortunately, that looks to be 
something of a "bluesky" enhancement bug for stable or even ~arch, but at 
least 2.2's there to be unmasked for people who like me have real, 
practical use for sets.)

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-12-08 20:41       ` Sven Vermeulen
  2012-12-09  0:45         ` [gentoo-dev] Handbook updates Was: " Duncan
@ 2012-12-09  1:10         ` Rich Freeman
  2012-12-09 13:29           ` Sven Vermeulen
  1 sibling, 1 reply; 24+ messages in thread
From: Rich Freeman @ 2012-12-09  1:10 UTC (permalink / raw
  To: gentoo-dev

On Sat, Dec 8, 2012 at 3:41 PM, Sven Vermeulen <swift@gentoo.org> wrote:
> Second, the Portage tree snapshots are now installed through emerge-webrsync
> (which means the entire section on downloading the tarballs, checking
> integrity, extracting is now a single paragraph).

Uh, does emerge-webrsync have some kind of automagical detection of
the fact that you're building a chroot?  I would think that it would
sync /usr/portage, and not /mnt/gentoo/usr/portage.  Perhaps you
should move that down into the chroot section, and mkdir /usr/portage
if that is needed?

Rich


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
  2012-12-09  1:10         ` [gentoo-dev] " Rich Freeman
@ 2012-12-09 13:29           ` Sven Vermeulen
  0 siblings, 0 replies; 24+ messages in thread
From: Sven Vermeulen @ 2012-12-09 13:29 UTC (permalink / raw
  To: gentoo-dev

On Sat, Dec 08, 2012 at 08:10:32PM -0500, Rich Freeman wrote:
> Uh, does emerge-webrsync have some kind of automagical detection of
> the fact that you're building a chroot?  I would think that it would
> sync /usr/portage, and not /mnt/gentoo/usr/portage.  Perhaps you
> should move that down into the chroot section, and mkdir /usr/portage
> if that is needed?

Crap. Indeed, section moved towards the place where we optionally recommend
"emerge --sync", and put in an mkdir /usr/portage.

Wkr,
	Sven Vermeulen


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2012-12-09 13:30 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-28 13:54 [gentoo-dev] Using emerge-webrsync to simplify the handbook Richard Yao
2012-11-28 14:17 ` Maxim Kammerer
2012-11-28 15:05   ` Richard Yao
2012-11-28 16:08     ` Matthew Thode
2012-11-30 15:57       ` Richard Yao
2012-11-30 16:15         ` Michael Mol
2012-11-30 16:59           ` Ian Stakenvicius
2012-11-30 17:30             ` Alec Warner
2012-11-30 18:06               ` Ian Stakenvicius
2012-12-01  5:55                 ` Alec Warner
2012-12-01  8:04                   ` Zac Medico
2012-12-01  8:31                 ` Richard Yao
2012-12-01  8:41               ` Richard Yao
2012-11-30 17:12         ` Maxim Kammerer
2012-11-28 17:50     ` Michał Górny
2012-11-30 17:35       ` Zac Medico
2012-12-01 22:44         ` Robin H. Johnson
2012-11-29  9:21 ` Markos Chandras
2012-11-30 11:46   ` Sven Vermeulen
2012-11-30 15:44     ` Richard Yao
2012-12-08 20:41       ` Sven Vermeulen
2012-12-09  0:45         ` [gentoo-dev] Handbook updates Was: " Duncan
2012-12-09  1:10         ` [gentoo-dev] " Rich Freeman
2012-12-09 13:29           ` Sven Vermeulen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox