public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] Building a portage repo?
@ 2016-09-14  7:01 alexmcwhirter
  2016-09-14  7:40 ` Michał Górny
  0 siblings, 1 reply; 4+ messages in thread
From: alexmcwhirter @ 2016-09-14  7:01 UTC (permalink / raw
  To: gentoo-dev

In my work on a sparc64 port of Gentoo i have found it easier to just 
fork the portage repo, patch things, and merge upstream changes / 
resolve conflicts as they happen. The problem is that this isn't really 
the best way to test things on any kind of scale. My plan is to build a 
script that does the following.

1. pull latest portage tree from git
2. apply patches
3. merge new portage tree to rsync server for clients.

The issue is that pulling from git i seem to be missing a ton of data, 
I.E. manifests and metadata like news (i'm assuming news is metadata). 
What is the utility that is used to take the git tree and generate all 
of this metadata, egencache?

Am i correct in assuming that after applying patches, running repoman 
and subsequently egencache should give me the same type of portage tree 
that is currently officially distributed to users?


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

* Re: [gentoo-dev] Building a portage repo?
  2016-09-14  7:01 [gentoo-dev] Building a portage repo? alexmcwhirter
@ 2016-09-14  7:40 ` Michał Górny
  2016-09-14  7:59   ` alexmcwhirter
  2016-09-14 13:20   ` [gentoo-dev] " Martin Vaeth
  0 siblings, 2 replies; 4+ messages in thread
From: Michał Górny @ 2016-09-14  7:40 UTC (permalink / raw
  To: gentoo-dev, alexmcwhirter

Dnia 14 września 2016 09:01:43 CEST, alexmcwhirter@triadic.us napisał(a):
>In my work on a sparc64 port of Gentoo i have found it easier to just 
>fork the portage repo, patch things, and merge upstream changes / 
>resolve conflicts as they happen. The problem is that this isn't really

Portage is the package manager. The repository is named gentoo. Please use correct names because till the last paragraph, I thought you were actually referring to the package manager (and wtf-ed why would you distribute its sources via rsync).

>
>the best way to test things on any kind of scale. My plan is to build a
>
>script that does the following.
>
>1. pull latest portage tree from git
>2. apply patches
>3. merge new portage tree to rsync server for clients.
>
>The issue is that pulling from git i seem to be missing a ton of data, 
>I.E. manifests and metadata like news (i'm assuming news is metadata). 
>What is the utility that is used to take the git tree and generate all 
>of this metadata, egencache?
>
>Am i correct in assuming that after applying patches, running repoman 
>and subsequently egencache should give me the same type of portage tree
>
>that is currently officially distributed to users?

Partially. You probably need to update layout.conf, to get desired manifest format first. Then remanifest, egencache with all options. You will also need to include additional repositories for news, glsas and fetch extra files for projects.xml.

Generally, it's easier to fetch https://github.com/gentoo-mirror/gentoo that has all the extra content included. However, if you want it 100% rsync compliant, you will still have to patch layout.conf and remanifest.

Also note that the manifest format will be subject to change in the future, to support fully GPG-signed repository.


-- 
Best regards,
Michał Górny (by phone)


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

* Re: [gentoo-dev] Building a portage repo?
  2016-09-14  7:40 ` Michał Górny
@ 2016-09-14  7:59   ` alexmcwhirter
  2016-09-14 13:20   ` [gentoo-dev] " Martin Vaeth
  1 sibling, 0 replies; 4+ messages in thread
From: alexmcwhirter @ 2016-09-14  7:59 UTC (permalink / raw
  To: Michał Górny; +Cc: gentoo-dev

On 2016-09-14 03:40, Michał Górny wrote:
> Portage is the package manager. The repository is named gentoo. Please
> use correct names because till the last paragraph, I thought you were
> actually referring to the package manager (and wtf-ed why would you
> distribute its sources via rsync).

Sorry, it's been a long night.

> Generally, it's easier to fetch
> https://github.com/gentoo-mirror/gentoo that has all the extra content
> included. However, if you want it 100% rsync compliant, you will still
> have to patch layout.conf and remanifest.
> 
> Also note that the manifest format will be subject to change in the
> future, to support fully GPG-signed repository.

I was unaware of that repository, thanks for pointing it out. It makes 
much more sense to start there than trying to rebuild everything, at 
least while my changes stay small anyways.



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

* [gentoo-dev] Re: Building a portage repo?
  2016-09-14  7:40 ` Michał Górny
  2016-09-14  7:59   ` alexmcwhirter
@ 2016-09-14 13:20   ` Martin Vaeth
  1 sibling, 0 replies; 4+ messages in thread
From: Martin Vaeth @ 2016-09-14 13:20 UTC (permalink / raw
  To: gentoo-dev

Michał Górny <mgorny@gentoo.org> wrote:
>>
>>and subsequently egencache should give me the same type of portage tree
>>that is currently officially distributed to users?
>
> Then remanifest, egencache with all options. You will also need to
> include additional repositories for news, glsas and fetch extra files
> for projects.xml.

Not to forget dtd and xml-schema.
There is app-portage/portage-postsyncd-mv in the mv overlay
which does all this (and some more) for you in various
(separately configurable) hooks in /etc/portage/repo.postsync.d/*
Well, all except changing the manifest format and remanifest,
but you can easily add another hook if you really want that.



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

end of thread, other threads:[~2016-09-14 13:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-14  7:01 [gentoo-dev] Building a portage repo? alexmcwhirter
2016-09-14  7:40 ` Michał Górny
2016-09-14  7:59   ` alexmcwhirter
2016-09-14 13:20   ` [gentoo-dev] " Martin Vaeth

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