Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
What is meaning/purpose of 'At' variable in ebuilds?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
potsdamlemur
n00b
n00b


Joined: 06 Jul 2002
Posts: 25
Location: Way Up North In York State

PostPosted: Wed May 28, 2003 6:31 pm    Post subject: What is meaning/purpose of 'At' variable in ebuilds? Reply with quote

I've noticed many ebuild scripts define an 'At' variable. It's a synonym or close paraphrase of 'PN'. I've looked in the man 5 page, the ebuild HOW-TO, and searched forums and newsgroups ... no luck.

Is 'At' an informal or a formal convention? Either way, what is its intended purpose and proper use?
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 15989
Location: Colorado

PostPosted: Wed May 28, 2003 6:39 pm    Post subject: Reply with quote

Do you have an example ebuild that uses it?
_________________
Safety is my gaol.
US Constitution | Amendments
Back to top
View user's profile Send private message
potsdamlemur
n00b
n00b


Joined: 06 Jul 2002
Posts: 25
Location: Way Up North In York State

PostPosted: Wed May 28, 2003 6:53 pm    Post subject: Here's the ${At} users in dev-java Reply with quote

Sure. It seems quite popular in dev-java, but none in dev-db. In net-www it appears in orion and tomcat. I don't know about other categories; haven't checked. Here's a complete list from dev-java:
Code:
tuinstra@gilligan dev-java $ grep -l '${At}' */*.ebuild | more
bsh/bsh-1.2-r7.ebuild
compaq-jdk/compaq-jdk-1.3.1.ebuild
compaq-jre/compaq-jre-1.3.1.ebuild
ibm-jdk/ibm-jdk-1.3.0-r4.ebuild
ibm-jdk/ibm-jdk-1.3.1-r1.ebuild
ibm-jdk/ibm-jdk-1.3.1-r2.ebuild
ibm-jdk/ibm-jdk-1.4.0-r1.ebuild
ibm-jdk/ibm-jdk-1.4.0-r2.ebuild
ibm-jre/ibm-jre-1.3.0-r3.ebuild
ibm-jre/ibm-jre-1.3.1-r1.ebuild
ibm-jre/ibm-jre-1.3.1-r2.ebuild
ibm-jre/ibm-jre-1.4.0-r1.ebuild
ibm-jre/ibm-jre-1.4.0-r2.ebuild
infobus/infobus-1.2.ebuild
jaf/jaf-1.0.2.ebuild
java-sdk-docs/java-sdk-docs-1.3.1.ebuild
java-sdk-docs/java-sdk-docs-1.4.1.ebuild
javamail/javamail-1.3.ebuild
jdbc-informix/jdbc-informix-221-r4.ebuild
jdbc-mssqlserver/jdbc-mssqlserver-2.2.0029.ebuild
jdbc-mysql/jdbc-mysql-2.0.14.ebuild
jdbc-mysql/jdbc-mysql-3.0.7.ebuild
jdbc2-postgresql/jdbc2-postgresql-6.5.2.ebuild
jdbc2-postgresql/jdbc2-postgresql-7.0.ebuild
jdbc2-postgresql/jdbc2-postgresql-7.1.ebuild
jdbc2-postgresql/jdbc2-postgresql-7.2.ebuild
jdbc2-postgresql/jdbc2-postgresql-7.3.ebuild
jdbc3-postgresql/jdbc3-postgresql-7.3.ebuild
jmf/jmf-2.1.1e.ebuild
jrockit/jrockit-8.1.ebuild
sun-j2ee/sun-j2ee-1.3.1-r1.ebuild
sun-j2ee/sun-j2ee-1.3.1.ebuild
sun-jdk/sun-jdk-1.3.1.08.ebuild
sun-jdk/sun-jdk-1.4.1.02-r1.ebuild
sun-jdk/sun-jdk-1.4.1.02.ebuild
Back to top
View user's profile Send private message
potsdamlemur
n00b
n00b


Joined: 06 Jul 2002
Posts: 25
Location: Way Up North In York State

PostPosted: Wed May 28, 2003 7:19 pm    Post subject: Appears to be variation on ${A} ; proper use still ??? Reply with quote

I should add that it appears to be some variation on the ${A} variable. man 5 ebuild says ${A} "contains all source files required for the package." However, ${A} is set automatically from ${SRC_URI} and should not be set explicitly, while ${At} is set explicitly. Also, some of the uses seem to indicate that ${At} is meant to hold only one filename. For example, in ibm-jdk-1.4.0-r2 we have:

Code:
At="IBMJava2-SDK-14.tgz"
S="${WORKDIR}/IBMJava2-14"
DESCRIPTION="IBM JDK 1.4.0"
SRC_URI=""
<... snip ...>
src_unpack() {
   if [ ! -f ${DISTDIR}/${At} ] ; then
      die "Please download ${At} from ${HOMEPAGE}"
   fi
   unpack ${At} || die
}


Also notice this use in constructing SRC_URI, in jdbc-mysql-3.0.7:

Code:
At=mysql-connector-java-${PV}-stable
S=${WORKDIR}/${At}

DESCRIPTION="MySQL JDBC driver"
HOMEPAGE="http://www.mysql.com"
SRC_URI="mirror://mysql/Downloads/Connector-J/${At}.tar.gz"


Grepping /usr/lib/portage/bin and /usr/portage/scripts turns up nothing, so maybe its just an informal convention??

Still curious.
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 15989
Location: Colorado

PostPosted: Wed May 28, 2003 7:22 pm    Post subject: Reply with quote

A little bird told me that the default function for src_unpack is to unpack ${A}, so "At" is likely A"temporary", but thats just a guess.

src_unpack for compaq-jdk-1.3.1.ebuild seems to agree with that guess though:
Code:
src_unpack() {
        if [ ! -f ${DISTDIR}/${At} ] ; then
                die "Please download ${At} from ${HOMEPAGE}"
        fi
        tar zxf ${DISTDIR}/${At}
        rpm2targz jdk-1.3.1-1-linux-alpha.rpm
        tar zxf jdk-1.3.1-1-linux-alpha.tar.gz >& /dev/null
        mv usr/java/jdk1.3.1 .
}
Other ebuilds use some variables, such as MY_PN. MY_PN is used for when the source file isn't named "properly" and some fancy dancing is needed to make it portage-friendly.

In other words, its nothing "official".
_________________
Safety is my gaol.
US Constitution | Amendments
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 15989
Location: Colorado

PostPosted: Wed May 28, 2003 7:23 pm    Post subject: Reply with quote

:D you seem to have come to the same conclusion.
_________________
Safety is my gaol.
US Constitution | Amendments
Back to top
View user's profile Send private message
potsdamlemur
n00b
n00b


Joined: 06 Jul 2002
Posts: 25
Location: Way Up North In York State

PostPosted: Wed May 28, 2003 7:42 pm    Post subject: Agreed. Reply with quote

Agreed. Proceeding on that assumption. Thanks. :)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum