Re: [gentoo-dev] RFC: kde5 and kde5-functions eclass

2014-09-19 Thread Davide Pesavento
kde5.eclass

> case ${KDE_TEST} in
> false) ;;
> *)
> IUSE+=" test"
> DEPEND+=" test? ( dev-qt/qttest:5 )"

No >=${QT_MINIMAL} in this dep?

> else
> unpack ${A}

I think you can use `default`

> if ! in_iuse examples || ! use examples ; then

if ! use_if_iuse examples ; then

> if ! in_iuse test || ! use test ; then

ditto

> if [ -n "${DBUS_SESSION_BUS_PID}" ] ; then

Use [[ ]], and you can also omit quoting.

> dohtml -r ${P}-apidocs/html/*

docinto html
dodoc -r ${P}-apidocs/html/*

Or even shorter, dodoc -r ${P}-apidocs/html (without docinto)

Thanks,
Davide


[gentoo-dev] Re: My masterplan for git migration (+ looking for infra to test it)

2014-09-19 Thread Martin Vaeth
Diamond  wrote:
>
> There's no git cp command.
> git mv is just git rm + git add.

I think there is a misunderstanding about how git works.

If you are used to e.g. svn (I suppose with CVS it is similar)
then it makes an important difference whether you use
"svn cp A B" or "/bin/cp A B", because svn is file-centric:
The latter loses history and duplicates data in the repository,
while the former de-duplicates.

git, OTOH is "blob"-centric: It cares only about content of the
file, not where this content comes from; the information that
you copy A to B is not stored, and it does not need to be stored:
De-duplication happens automatically.

In other words, there is no way for git to "see" that B originally
was a copy of A, and normally there is also no such need.
If you think that this information is important enough to be
stored in the history, you have to make a commit where B is
completely identical to A before you make further
modifications for B (identical files have the same checksum and
thus are immediately identified).
If you make no such commit, git can guess only by similarities
of the content that B originally was as a copy of A; this,
of course, needs slightly longer than omitting such comparisons.

For this reason, there is absolutely no reason to use git for
file operations like cp or mv (as long as you add/remove the
corresponding files from the index before you commit, of course).




Re: [gentoo-dev] Gentoo git workflows and the stabilization/keywording process

2014-09-19 Thread Ulrich Mueller
> On Fri, 19 Sep 2014, hasufell  wrote:

> There is no reason to roll back commits or do merge commits for the
> keywords conflict use case. So I don't see what else needs
> discussion here, except the proposal from ulm.

About an optimised merge driver for ebuilds? Please don't see this as
a blocker for the migration.

Ulrich


pgpVH2cxxftNs.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo git workflows and the stabilization/keywording process

2014-09-19 Thread hasufell
Ian Stakenvicius:
> Git on the other hand will update the entire
> tree and there's no way around that, right?

Yeah, people have to understand that we cannot map the cvs workflow 1:1
to git.

That's for a reason and that little inconvenience it causes is pretty
minor compared to the breakage CVS allows (user syncs at a bad time and
gets a broken tree, repoman gives bogus results etc.).

There is no reason to roll back commits or do merge commits for the
keywords conflict use case. So I don't see what else needs discussion
here, except the proposal from ulm.



Re: [gentoo-dev] Gentoo git workflows and the stabilization/keywording process

2014-09-19 Thread Ian Stakenvicius
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 19/09/14 11:10 AM, Ian Stakenvicius wrote:
> 
> I don't think there's any valid debate on whether git is more 
> efficient than cvs on fetching tree-wide updates :)
> 

erm, that was worded wrong, let me try again:  I don't think there's
any valid debatable point against git being more efficient than cvs,
when fetching updates tree-wide.
-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iF4EAREIAAYFAlQcSCoACgkQ2ugaI38ACPCU1QD8Dqy00yazdlXLphGYKx4e/Ec6
ci9AyvPI3ga+ilqmaJUA/RlsRM6ycPr6jXaW5WZtPTxjgfuz0qSrsw2cf+K7UjGK
=p9XG
-END PGP SIGNATURE-



Re: [gentoo-dev] Gentoo git workflows and the stabilization/keywording process

2014-09-19 Thread Ian Stakenvicius
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 19/09/14 10:48 AM, Rich Freeman wrote:
> On Fri, Sep 19, 2014 at 10:25 AM, hasufell  
> wrote:
>> 
>> That is pretty easy and takes you ~20s for a keyword merge. 
>> What's the problem?
>> 
> 
> Agree.  Also, there was a comment that git pull is much slower than
> cvs.  While it is true that git does refresh the whole tree all the
> time, it is FAR more efficient at doing this than CVS, since the
> local and remote repositories can use a single hash to determine
> where each stands relative to the other, and the COW mechanism
> applies to directory trees so when making comparisons git does not
> need to traverse the full depth of the tree for every branch.  A
> cvs update on the entire tree is basically an independent
> synchronization of every file in the tree.  Also, by refreshing the
> entire tree you also catch any repoman errors that might result
> from commits to other packages that you didn't have visibility to
> when refreshing only a single package in cvs.
> 

That wasn't really part of his argument, though -- when he's fixing
keyword collisions, he's only working within one package, and CVS in
that case -only- checks the subtree as of that package (ie, ./ and
./files/) when updating.  Git on the other hand will update the entire
tree and there's no way around that, right?  (unless of course i
missed something in hasufell's command list)

I don't think there's any valid debate on whether git is more
efficient than cvs on fetching tree-wide updates :)


> I wonder if it would make sense to set up a practice git tree 
> somewhere so that people can try working together on workflows/etc.
> We can clone a migrated tree (I have one from a few days ago on
> github).

Definitely.  I'd volunteer for that (doing my updates to both git and
cvs trees), and I expect others would as well.


-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iF4EAREIAAYFAlQcR1UACgkQ2ugaI38ACPA1ogEAmn9ZBr9nORFH02cxu4HML+9C
OKyPystsxAaOdEnkzS8A/29mitUtED8jowJ+5Udh9YyYRjJApzx36hRMyyAsJUVc
=B0E9
-END PGP SIGNATURE-



Re: [gentoo-dev] Gentoo git workflows and the stabilization/keywording process

2014-09-19 Thread Rich Freeman
On Fri, Sep 19, 2014 at 10:25 AM, hasufell  wrote:
>
> That is pretty easy and takes you ~20s for a keyword merge. What's the
> problem?
>

Agree.  Also, there was a comment that git pull is much slower than
cvs.  While it is true that git does refresh the whole tree all the
time, it is FAR more efficient at doing this than CVS, since the local
and remote repositories can use a single hash to determine where each
stands relative to the other, and the COW mechanism applies to
directory trees so when making comparisons git does not need to
traverse the full depth of the tree for every branch.  A cvs update on
the entire tree is basically an independent synchronization of every
file in the tree.  Also, by refreshing the entire tree you also catch
any repoman errors that might result from commits to other packages
that you didn't have visibility to when refreshing only a single
package in cvs.

I wonder if it would make sense to set up a practice git tree
somewhere so that people can try working together on workflows/etc.
We can clone a migrated tree (I have one from a few days ago on
github).

I'm not super-familiar with github organizations, but if it is easy to
grant everybody in the gentoo organization access to a migrated tree
we could do that, and host it in the organization.  I don't care where
we host the tree - I just don't have anything set up personally.

--
Rich



Re: [gentoo-dev] Gentoo git workflows and the stabilization/keywording process

2014-09-19 Thread hasufell
Tobias Klausmann:
>>>
>>> If this should really turn out to be a problem, then we could also:
>>>
>>> 4) Replace git's default merge driver by our own one that is better
>>> suited for ebuilds. This can be done per repository via .git/config
>>> and .gitattributes.
>>>
>>
>> Certainly that would be even more helpful!
> 
> Still, all of these scenarios cause merge commits

No.

1. git pull --rebase=preserve origin master
=> error: could not apply ... 
2. fix conflicts via 'git mergetool' (e.g. meld or vimdiff with 3 panel
view... very easy to see what happened)
3. finish rebase via 'git rebase --continue'
=> your unpushed keyword commit has been rewritten without a merge commit
4. push

That is pretty easy and takes you ~20s for a keyword merge. What's the
problem?



[gentoo-dev] Unifying the PostgreSQL Ebuilds

2014-09-19 Thread Aaron W. Swenson
I've been working on unifying the PostgreSQL ebuilds for a while now.

Besides just being cleaner and taking a bit less time to compile, it
will inherently resolve a couple issues that are difficult to
workaround, such as cross compilation [1] and CFLAGS changes [2].

I'm including a list of affected packages, but I think I have everything
prepared in my overlay [3] for commit to gentoo-x86.

I'm aiming to do a package move instead of the virtual/postgresql mess
we had last time. Before I do that, I'd like some feedback as there may
be some issue I've overlooked or haven't run into. I don't really think
there should be as the installation model is the same as the split
ebuilds; it's still slotted, and installation paths are the same.

I'm hoping to press forward with this change in the next week or so.

Thank you in advance!

[1] https://bugs.gentoo.org/show_bug.cgi?id=505540
[2] https://bugs.gentoo.org/show_bug.cgi?id=456876
[3] https://github.com/titanofold/titanofold-gentoo-x86

Affected Packages

app-admin/collectd
app-admin/rsyslog
app-admin/sagan
app-admin/ulogd
app-backup/bacula
app-backup/bareos
app-crypt/onak
app-editors/xemacs
app-forensics/aide
app-misc/sphinx
app-mobilephone/gammu
app-mobilephone/gnokii
app-mobilephone/kannel
app-office/akonadi-server
app-office/calligra
app-office/libreoffice
app-office/openerp
app-office/openerp-server
dev-cpp/pficommon
dev-db/barman
dev-db/cppdb
dev-db/libdbi-drivers
dev-db/libzdb
dev-db/mysql-super-smack
dev-db/opendbx
dev-db/pgadmin3
dev-db/pgagent
dev-db/pgmemcache
dev-db/pgpool2
dev-db/pgtap
dev-db/pg_top
dev-db/pgxnclient
dev-db/postgis
dev-db/psqlodbc
dev-db/pygresql
dev-db/slony1
dev-db/soci
dev-db/textsearch_ja
dev-db/tora
dev-haskell/hdbc-postgresql
dev-haskell/hsql-postgresql
dev-java/jdbc-postgresql
dev-lang/io
dev-lang/php
dev-libs/apr-util
dev-libs/cyrus-sasl
dev-libs/libhome
dev-libs/libpqxx
dev-libs/radlib
dev-libs/redland
dev-lisp/clisp
dev-lua/luadbi
dev-ml/postgresql-ocaml
dev-perl/DBD-Pg
dev-perl/pgperl
dev-python/psycopg
dev-python/pypgsql
dev-qt/qtsql
dev-ruby/pg
games-server/cyphesis
games-server/pvpgn
games-strategy/freeciv
gnome-extra/libgda
gnustep-libs/sqlclient
mail-filter/anubis
mail-filter/dspam
mail-filter/gld
mail-mta/courier
mail-mta/exim
mail-mta/postfix
media-video/motion
net-analyzer/barnyard
net-analyzer/barnyard2
net-analyzer/echoping
net-analyzer/flow-tools
net-analyzer/hydra
net-analyzer/icinga2
net-analyzer/metasploit
net-analyzer/munin
net-analyzer/nagios-plugins
net-analyzer/pmacct
net-analyzer/zabbix
net-dialup/accel-ppp
net-dialup/freeradius
net-dialup/gnuradius
net-dns/bind
net-dns/mydns
net-dns/pdns
net-firewall/nufw
net-ftp/proftpd
net-ftp/pure-ftpd
net-im/jabberd2
net-irc/eggdrop
net-irc/inspircd
net-libs/courier-authlib
net-libs/cvm
net-libs/wt
net-mail/cyrus-imapd
net-mail/dovecot
net-mail/ezmlm-idx
net-mail/mailutils
net-mail/perdition
net-mail/tpop3d
net-mail/vpopmail
net-misc/asterisk
net-misc/cfengine
net-misc/mico
net-misc/ser
net-misc/stargazer
net-print/pykota
net-voip/gnugk
net-voip/yate
sci-biology/emboss
sci-geosciences/grass
sci-geosciences/mapnik
sci-geosciences/osm2pgsql
sci-geosciences/qgis
sci-libs/gdal
sci-libs/vtk
sci-mathematics/pspp
sci-physics/root
sys-auth/libnss-pgsql
sys-auth/pam-pgsql
sys-cluster/gearmand
sys-cluster/slurm
www-apache/mod_auth_nufw
www-apache/mod_auth_pgsql
www-apps/liquid_feedback_core
www-apps/webmcp
www-servers/uwsgi


-- 
Mr. Aaron W. Swenson
Gentoo Linux Developer
PostgreSQL Herd Bull
Email : titanof...@gentoo.org
GnuPG FP : 2C00 7719 4F85 FB07 A49C 0E31 5713 AA03 D1BB FDA0
GnuPG ID : D1BBFDA0


signature.asc
Description: Digital signature


Re: [gentoo-dev] Gentoo git workflows and the stabilization/keywording process

2014-09-19 Thread Tobias Klausmann
Hi! 

On Fri, 19 Sep 2014, Tom Wijsman wrote:
> On Thu, 18 Sep 2014 19:39:08 +0200
> Tobias Klausmann  wrote:
> 
> > AIUI, we try to avoid merge conflicts, unless the merge is a
> > meaningful integration of divergent processes.
> > 
> > However, one aspect of how ebuilds are written these days will
> > cause a non-trivial amount of merge commits that are not actually
> > useful in that sense.
> 
> The concept of rebasing your commits has been invented for this. In the
> less common case that multiple people change the keywords, a manual
> three way merge is a breeze; taking into consideration that maintainers
> should be aware of KEYWORDS and other recent changes to their packages.

As I pointed out, getting the right code into the tree is not the
problem here. It is extra work over the current way of doing it
(since I need to deal with a local commit that can't be ff'd or
rebased as git is very line-oriented.

On top of the extra work, there have been several mentions that
only meaning ful merge-commits are wanted in the tree (or not
wanted at all). AIUI, avoiding them in the keywording/stabilizing
phase is currently very difficult, unless we split KEYWORDS into
separate lines or find another mechanism (like having the
maintainer/keyword-requestor do all the edits after the archs
sign off on them).

I'd be delighted to hear a simpler solution that only involves
doing the semantic merge (like we do now with CVS).

And at least in my case, collisions during keywording are fairly
common, and will be even more so with git since fetch/pull are
slower than for a CVS subdir (since git checks the whole tree for
local changes, not just the current subtree, AIUI).

Again, correct me if I'm wrong. I've been using git for ~4 years,
but only in single-developer mode. And even there I managed to
make a mess of repo histories :-/ Fortunately, nobody cares about
my stuff.

Regards,
Tobias



Re: [gentoo-dev] Gentoo git workflows and the stabilization/keywording process

2014-09-19 Thread Tom Wijsman
On Thu, 18 Sep 2014 19:39:08 +0200
Tobias Klausmann  wrote:

> AIUI, we try to avoid merge conflicts, unless the merge is a
> meaningful integration of divergent processes.
> 
> However, one aspect of how ebuilds are written these days will
> cause a non-trivial amount of merge commits that are not actually
> useful in that sense.

The concept of rebasing your commits has been invented for this. In the
less common case that multiple people change the keywords, a manual
three way merge is a breeze; taking into consideration that maintainers
should be aware of KEYWORDS and other recent changes to their packages.



Re: [gentoo-scm] Re: [gentoo-dev] Gentoo git workflows and the stabilization/keywording process

2014-09-19 Thread Kent Fredric
On 19 September 2014 06:51, Rich Freeman  wrote:

>
> Git even allows the use of tools like meld to resolve conflicts,
> besides the usual fill-the-file-with-diffs-to-cleanup approach.


I'd personally discourage any kind of collision resolution in the merge
itself.

Mostly because I've been bitten by attempted rebases where those collision
resolutions have been *lost* .

Much preferable to rebase one branch or find some otherway to weed the
collision out prior to merge and giving a clean track record of where the
fix was applied. ( Because the fix happening in the merge is a great way to
hide accidental code changes )


-- 
Kent

*KENTNL* - https://metacpan.org/author/KENTNL


Re: [gentoo-dev] Gentoo git workflows and the stabilization/keywording process

2014-09-19 Thread Tobias Klausmann
Hi! 

On Thu, 18 Sep 2014, Rich Freeman wrote:
> On Thu, Sep 18, 2014 at 1:53 PM, Ulrich Mueller  wrote:
> >> On Thu, 18 Sep 2014, Tobias Klausmann wrote:
> >
> >> However, one aspect of how ebuilds are written these days will
> >> cause a non-trivial amount of merge commits that are not actually
> >> useful in that sense.
> >
> 
> Git can do merge conflict markers just like cvs.  Also, in practice I
> don't tend to run into merge conflicts with cvs - I always do a
> directory update before making changes.  With git I'd probably not do
> a pull if I were working on an obscure pacakge, but if I were doing a
> security keywording I'd certainly do a pull before touching anything
> since the likelihood of a conflict is much higher.

The problem isn't the conflict markers. The problem is that with
git, by the time I have a conflict, I also have a local commit
that I have to roll back or turn into a merge, which means extra
work.

> Git even allows the use of tools like meld to resolve conflicts,
> besides the usual fill-the-file-with-diffs-to-cleanup approach.
> 
> >
> > If this should really turn out to be a problem, then we could also:
> >
> > 4) Replace git's default merge driver by our own one that is better
> > suited for ebuilds. This can be done per repository via .git/config
> > and .gitattributes.
> >
> 
> Certainly that would be even more helpful!

Still, all of these scenarios cause merge commits, which some
people seem to be rather allergic to (and I do agree that nothing
of use is actually merged, since two stabilizations/keywordings
are usually orthogonal).

Regards,
Tobias