Re: [gentoo-dev] Automated Package Removal and Addition Tracker, for the week ending 2015-08-23 23:59 UTC

2015-08-24 Thread Philip Webb
150825 malc wrote:
> Updated code and sample output :)

-- snip --

> Removals:
> dev-java/burlap   Mon Aug 24 17:21:42 2015 +0200  Patrice Clement 
> 
> dev-java/caucho-services  Mon Aug 24 17:21:42 2015 +0200  Patrice Clement 
> 
> dev-java/jldapMon Aug 24 17:19:44 2015 +0200  Patrice Clement 
> 
> dev-java/openspml Mon Aug 24 17:19:44 2015 +0200  Patrice Clement 
> 
> dev-java/openspml2Mon Aug 24 17:19:44 2015 +0200  Patrice Clement 
> 
> dev-java/soap Mon Aug 24 17:19:44 2015 +0200  Patrice Clement 
> 
> 
> Additions:
> dev-go/go-md2man  Mon Aug 24 17:59:21 2015 -0500  William Hubbs 
> 
> dev-go/blackfridayMon Aug 24 17:48:35 2015 -0500  William Hubbs 
> 
> dev-go/sanitized-anchor-name  Mon Aug 24 17:43:23 2015 -0500  William Hubbs 
> 
> x11-misc/kronometer   Tue Aug 25 04:13:15 2015 +1000  Michael 
> Palimaka 
> dev-python/packaging  Mon Aug 24 09:15:07 2015 +0200  Justin Lecher 
> 
> dev-python/progress   Mon Aug 24 09:06:06 2015 +0200  Justin Lecher 
> 
> dev-python/CacheControl   Mon Aug 24 08:46:41 2015 +0200  Justin Lecher 
> 
> dev-python/distlibMon Aug 24 08:41:12 2015 +0200  Justin Lecher 
> 

-- snip --

Is there any possibility they could be sorted alphabetically ?

-- 
,,
SUPPORT ___//___,   Philip Webb
ELECTRIC   /] [] [] [] [] []|   Cities Centre, University of Toronto
TRANSIT`-O--O---'   purslowatchassdotutorontodotca




Re: [gentoo-dev] Automated Package Removal and Addition Tracker, for the week ending 2015-08-23 23:59 UTC

2015-08-24 Thread malc
Hi Robin,

Updated code and sample output :)

Cheers,
malc. (long-time lapsed dev.)

On Mon, Aug 24, 2015 at 6:44 PM, Robin H. Johnson  wrote:
> On Mon, Aug 24, 2015 at 09:48:16AM +0200, Patrice Clement wrote:
>> Monday 24 Aug 2015 00:05:20, Robin H. Johnson wrote :
>> > The attached list notes all of the packages that were added or removed
>> > from the tree, for the week ending 2015-08-23 23:59 UTC.
>> >
>> > Removals:
>> >
>> > Additions:
>> >
>> > --
>> > Robin Hugh Johnson
>> > Gentoo Linux Developer
>> > E-Mail : robb...@gentoo.org
>> > GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85
>>
>> > Removed Packages:
>> > Added Packages:
>> > Done.
>> You should turn this off now. :)
>>
>> Btw, do you still need help with the same script but for Git?
> I said last week already, that would somebody please write a Git version
> of it. The prior one was very CVS-specific.
>
> The mailer part is already separate from the data-build part, so here's
> that data-build part if you wanted to integrate with the existing mail.
>
> I've attached all the scripts from the CVS version, so you can see how
> to slot in the Git code (replace the process.sh and .py script).
>
> --
> Robin Hugh Johnson
> Gentoo Linux: Developer, Infrastructure Lead
> E-Mail : robb...@gentoo.org
> GnuPG FP   : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85
Removals:
dev-java/burlap Mon Aug 24 17:21:42 2015 +0200  Patrice Clement 

dev-java/caucho-servicesMon Aug 24 17:21:42 2015 +0200  Patrice Clement 

dev-java/jldap  Mon Aug 24 17:19:44 2015 +0200  Patrice Clement 

dev-java/openspml   Mon Aug 24 17:19:44 2015 +0200  Patrice Clement 

dev-java/openspml2  Mon Aug 24 17:19:44 2015 +0200  Patrice Clement 

dev-java/soap   Mon Aug 24 17:19:44 2015 +0200  Patrice Clement 


Additions:
dev-go/go-md2manMon Aug 24 17:59:21 2015 -0500  William Hubbs 

dev-go/blackfriday  Mon Aug 24 17:48:35 2015 -0500  William Hubbs 

dev-go/sanitized-anchor-nameMon Aug 24 17:43:23 2015 -0500  William Hubbs 

x11-misc/kronometer Tue Aug 25 04:13:15 2015 +1000  Michael 
Palimaka 
dev-python/packagingMon Aug 24 09:15:07 2015 +0200  Justin Lecher 

dev-python/progress Mon Aug 24 09:06:06 2015 +0200  Justin Lecher 

dev-python/CacheControl Mon Aug 24 08:46:41 2015 +0200  Justin Lecher 

dev-python/distlib  Mon Aug 24 08:41:12 2015 +0200  Justin Lecher 

#!/usr/bin/env python2
# Authored by Alec Warner 
# Significent modifications by Robin H Johnson 
# Modified for Git support by Malcolm Lashley 
# Released under the GPL Version 2
# Copyright Gentoo Foundation 2006

# Changelog: Initial release 2006/10/27
#Git Support 2015/08/25

doc = """
# Purpose: This script analyzes the git log output in an attempt to locate package
# additions and removals.  It takes 3 arguments; two of which are optional.  It needs
# the path to the repository to read.  If a start_date is not provided it will read
# the entire log and match any addition/removal.  If you provide a start date it will
# only match things that are after that start_date.  If you provide an end date you can
# find matches over date ranges.  If an end date is not provided it defaults to now()
"""

import sys, os, re, time, datetime, subprocess

new_package = re.compile("^A\s+(.*)\/(.*)\/Manifest$")
removed_package = re.compile("^D\s+(.*)\/(.*)\/Manifest$")
author_re  = re.compile("^Author: (.*)")
date_re= re.compile("^Date:\s+(.*)")

class record(object):
	def __init__(self, who, date, cp, op ):
		"""
		Who is a string
		date is whatever the crap git outputs for date string :)
		cp is a category/package
		op is "added", "removed", "moved"
		"""
		self.who = who
		self.date = date
		self.package = cp
		self.op = op

	def __str__( self ):
		#return "Package %s was %s by %s on %s" % (self.package, self.op, self.who, self.date)
		return "%s,%s,%s,%s" % (self.package, self.op, self.who, self.date)

	def cat (self):
		return self.package.split("/")[0]
	
	def pn (self):
		return self.package.split("/")[1]

	def date (self):
		return self.date
	
	def who (self):
		return self.who
	
	def op (self):
		return self.op


def main():
	if (len(sys.argv) < 2):
		usage()
		sys.exit(1)

	args = sys.argv[1:]
	repo_path = args[0]
	os.chdir(repo_path)

	if len(args) >= 2: 
		start_date = ["--after", args[1] ]
	else:
		start_date = []

	if len(args) >= 3:
		end_date = ["--before", args[2]]
	else:
		end_date = []

	p = subprocess.Popen(["git","log","--name-status"] + start_date + end_date,stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

	removals = []
	adds = []
	moves = []
	for line in iter(p.stdout.readline,''):
		match = author_re.match(line)
		if match:
			who = match.groups()[0]

		match = date_re.match(line)
		if match:
			date = match.groups()[0]

		match = new_package.match( line )
		if match:
	

[gentoo-dev] How to correctly use golang-vcs with the Google API libraries?

2015-08-24 Thread Andrew Udvare
To correctly support the entire Google API library set, do we need a
separate ebuild for every single one? This definitely can be automated.

https://godoc.org/google.golang.org/api

With golang-vcs, using google.golang.org/api for GO_PN is not working
and I think it is because each package must be dealt with separately.

Back story:

I have an ebuild I made a while ago back when the norm was to hack up a
copy of GOROOT minus the package and build the package with that root,
then install. It is located here:

https://github.com/Tatsh/tatsh-overlay/blob/master/dev-go/google-api-go-client/google-api-go-client-0_p20150428.ebuild

I do need to update all my Go ebuilds for golang-* eclasses, not just
this one, because the old way was to install to /usr/lib/go rather than
/usr/lib/go-gentoo.

But besides that, this ebuild was only intended to fulfil the
dependencies of Odeke Drive (a Google Drive client, especially since
Grive is now dead due to API changes). You can see this in the loop that
only deals with the packages drive/v2 and googleapi. (Just to note, I
would love to see Odeke Drive in the tree as there is no longer a
working Google Drive client in the tree.)

Thanks
Andrew



Re: [gentoo-dev] Automated Package Removal and Addition Tracker, for the week ending 2015-08-23 23:59 UTC

2015-08-24 Thread Robin H. Johnson
On Mon, Aug 24, 2015 at 09:48:16AM +0200, Patrice Clement wrote:
> Monday 24 Aug 2015 00:05:20, Robin H. Johnson wrote :
> > The attached list notes all of the packages that were added or removed
> > from the tree, for the week ending 2015-08-23 23:59 UTC.
> > 
> > Removals:
> > 
> > Additions:
> > 
> > --
> > Robin Hugh Johnson
> > Gentoo Linux Developer
> > E-Mail : robb...@gentoo.org
> > GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85
> 
> > Removed Packages:
> > Added Packages:
> > Done.
> You should turn this off now. :)
> 
> Btw, do you still need help with the same script but for Git?
I said last week already, that would somebody please write a Git version
of it. The prior one was very CVS-specific.

The mailer part is already separate from the data-build part, so here's
that data-build part if you wanted to integrate with the existing mail.

I've attached all the scripts from the CVS version, so you can see how
to slot in the Git code (replace the process.sh and .py script).

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


find-cvs-adds-and-removals-wrapper.sh
Description: Bourne shell script


find-cvs-adds-and-removals-process.sh
Description: Bourne shell script
#!/usr/bin/env python2
# Authored by Alec Warner 
# Significent modifications by Robin H Johnson 
# Released under the GPL Version 2
# Copyright Gentoo Foundation 2006

# Changelog: Initial release 2006/10/27

doc = """
# Purpose: This script analyzes the cvs history file in an attempt to locate package
# additions and removals.  It takes 3 arguments; two of which are optional.  It needs
# the path to the history file to read.  If a start_date is not provided it will read
# the entire file and match any addition/removal.  If you provide a start date it will
# only match thins that are after that start_date.  If you provide an end date you can
# find matches over date ranges.  If an end date is not provided it defaults to now()
"""

import sys, os, re, time, datetime

new_package = re.compile("^A(.*)\|.*gentoo-x86\/(.*)\/(.*)\|.*\|ChangeLog$")
removed_package = re.compile("^R(.*)\|.*gentoo-x86\/(.*)\/(.*)\|.*\|ChangeLog$")

class record(object):
	def __init__(self, who, date, cp, op ):
		"""
		Who is a string
		date is a unix timestamp
		cp is a category/package
		op is "added", "removed", "moved"
		"""
		self.who = who
		self.date = datetime.datetime.fromtimestamp( date ) 
		self.package = cp
		self.op = op

	def __str__( self ):
		#return "Package %s was %s by %s on %s" % (self.package, self.op, self.who, self.date)
		return "%s,%s,%s,%s" % (self.package, self.op, self.who, self.date)

	def cat (self):
		return self.package.split("/")[0]
	
	def pn (self):
		return self.package.split("/")[1]

	def date (self):
		return self.date
	
	def who (self):
		return self.who
	
	def op (self):
		return self.op


def main():
	if (len(sys.argv) < 2):
		usage()
		sys.exit(1)

	args = sys.argv[1:]
	history_file = args[0]
	# Robin requested I let one specify stdin
	if history_file == "-":
		history = sys.stdin
	else:
		history = open( history_file )

	if len(args) >= 2: 
		start_date = int(args[1])
		#start_date = time.strptime( start_date, "%d/%m/%Y")
		#start_date = time.mktime( start_date )
	else:
		start_date = 0 # no real start date then.

	if len(args) >= 3:
		end_date = int(args[2])
		#end_date = time.strptime( end_date, "%d/%m/%Y")
		#end_date = time.mktime( end_date )
	else:
		end_date = time.time()

	try:
		
		lines = history.readlines()
	except IOError as e:
		print("Failed to open History file!")
		raise e
	except OSError as e:
		print("Failed to open History file!")
		raise e

	removals = []
	adds = []
	moves = []
	for line in lines:
		match = new_package.match( line )
		if match:
			t = match.groups()[0]
			split = t.split("|")
			t = split[0]
			who = split[1]
			try:
t = int(t, 16)
			except e:
print("Failed to convert hex timestamp to integer")
raise e

			if t < end_date and t > start_date:
rec = record( who, t, match.groups()[1] + "/" + match.groups()[2], "added" )
adds.append( rec )
continue
			else:
continue # date out of range
		match = removed_package.match( line )

		if match:
			t = match.groups()[0]
			split = t.split("|")
			t = split[0]
			who = split[1]
			try:
t = int(t, 16)
			except e:
print("Failed to convert hex timestamp to integer")
raise e
			if t < end_date and t > start_date:
rec = record( who, t, match.groups()[1] + "/" + match.groups()[2], "removed" )
removals.append( rec )
continue
			else:
continue # date out of range
	print("Removed Packages:")
	for pkg in removals:
		print(pkg)

	print("Added Packages:")
	for pkg in adds:
		print(pkg)
	print
	print("Done.")

def usage():
	print(sys.argv[0] + "  [start date] [end date]")
	print("Start date defaults to '0'.")
	print("End date defaults to 'now'.")
	print("Both da

[gentoo-dev] Last rites: sys-devel/dragonegg

2015-08-24 Thread Bernard Cafarelli

# Bernard Cafarelli  (24 Aug 2015)
# Masked for removal in 30 days. Abandoned upstream,
# last version does not compile. Bug #543644
sys-devel/dragonegg

--
Bernard Cafarelli (Voyageur)
Gentoo developer (NX, GNUstep, net-misc, llvm/clang, ...)



[gentoo-dev] code.google.com readonly starting on 25/Aug/15

2015-08-24 Thread Tobias Klausmann
Hi! 

Tomorrow, code.google.com will turn off write access to all
remaining projects[0]. As such, Gentoo ebuilds which still have
HOMEPAGE= pointing there should be updated.

I've already created a list of possible edits:

http://skade.schwarzvogel.de/~klausman/cgc_urls.html

Note that there are a _lot_ of projects that do not have a new
home. Some of these haven't seen updates since 2009. Some don't
even work anymore.

Still, many do have proper homepages (most of them moved to
GitHub).

Thus, I'll edit _all_ ebuilds for the specified packages to point
to their new homes, where available. I'm also considering filing
bugs against the remainder.

Things I will not touch:

- SRC_URI fields
- Ebuilds where HOMEPAGE is not _exactly_ as in the table linked
  above (this includes ebuilds with more than one URL in
  HOMEPAGE)
- Any ebuild where the maintainer does the fix themselves or
  explicitly asks me not to.

The change itself will happen sometime this week to allow people
to do the changes on their own.

Regards,
Tobias

0: https://code.google.com/p/support/wiki/ReadOnlyTransition


-- 
Sent from aboard the Culture ship
Someone Else's Problem