Git/svn/cvs "versions"

Hi,
on the AUR, it looks like when you upload a package that already existed (but another version) the other package gets replaced by the newly uploaded one.  This seems reasonable because usually people upload a newer version and the older one is not needed anymore.
But for git/svn/cvs "versions" this raises a problem: When dealing with 'bleeding edge' packages we usually want to keep the 'stable release' packages as well, but this doesn't work:  when package foo v1 exists and you upload foo-git it will also replace.
I see that most people solve this problem by giving a package a different name instead of another version, eg the package becomes foo-git with version <current date>, which doesn't replace foo version 1.
1) Is there any reason for the <current date> version?  Or is this just because the version variable cannot be empty?  I don't see much semantic meaning in a version like that, because the user will build the package himself anyway (so he will build the _current_ latest version, not the one dated from the version string of the packagename), at least for packages in unsupported.
2) Isn't this more a workaround than a solution?  I mean, isn't having different package names a bit ugly because it's actually the same software, just another version? (eg the git/svn/cvs part should be in the version string, not the package name)
This is a rather theoretical subject (especially question 2), and in true Arch spirit I do think it's better to have a workaround that is simple and works just fine then having the 'theoretically correct' but more complicated solution.
OTOH, assuming agreement with me:  I think it's easy to the implement the 'correct way':   Basically the AUR code should just check if the version of the package matches a knows VCS system ('git','svn',...) and allow it as an additional package, otherwise replace the previous package.  (and if you upload foo-git and foo-git exists already, also replace it of course)

I think there are some misunderstandings in this thread -- maybe on my side.
To be clear: $pkgname, $pkgver and $pkgrel are required fields in a PKGBUILD. Since there is no real version number in packages that are build upon a VCS, often the date is taken as $pkgver (but e.g. svn gives a revision number apart from the date, so that s taken instead). So for example in tuxpaint-cvs-20081116-1, tuxpaint-cvs is the $pkgname, 20081116 is the $pkgver (when you check out CVS packages, the current date of last upstream upload is given as version) and 1 is the $pkgrel (not of much use here). Uploading a tarball for tuxpaint-cvs will not delete an existing tarball for tuxpaint, since tuxpaint-cvs is another name than tuxpaint. If you some day later download the tarball for tuxpaint-cvs, makepkg will generate a package with the current date as $pkgver, unless you say makepkg --holdver, in which case it would take the upload date as $pkgver.
Last edited by Stefan Husmann (2008-11-16 19:17:51)

Similar Messages

  • Got sources from git/svn/cvs/wtf? md5sum for all files...

    Your package gets sources from git/svn/cvs/wtf?
    I used this little trick to check the md5sum of all files and ensure a little more the package users
    will download exactly what you downloaded when you created the package:
    echo "7ce3eabab979cd067b096e83280239ed -" >"$srcdir"/md5sources
    find . -type f -print0 | sort -z | xargs -0 cat | md5sum --status -c "$srcdir"/md5sources || return 1
    The md5 is calculated using the same command without -c before the whole building process just after downloading the sources.
    I thought someone can find it useful or give a comment.

    Shouldn't this go to AUR-related? Users of official repo packages should never have to access any of the git/svn/cvs sources anyway.

  • Suggestion: git/svn snapshots in stable of Win Live Messenger clients

    First of all, the best thing at Archlinux (the main reason I'm using it) is the fact, that it follows completely versions recommended by developers, even if it's a snapshot version like at mplayer or at cinelerra-cv
    But there are some programs, that should follow the same policy: Windows Live messenger (MSN) clients: Microsoft always changes something on the MSN protocoll, and made all the alternative clients suck, but the develpoers of the alternative clients doesn't release immediatelly a new bugfix version, but they fix the bug immediatelly in the git/svn snapshots. aMSN developers didn't even released new versions for a long time, and their last release is dated at March 2010, but they upgrade everything in snapshots. KMess had 2.0 working perfectly about one year ago, and now it's 2.0.4, and 3 of the 4 updates was just because MSN protocoll changes, kmess is now crashing even for me, and they only fixed it in the stable-git repo according to this topic: http://kmess.org/board/viewtopic.php?f=4&t=4685 , but 2.0.5 relese is more far away, until then, we can't login to our WLM account with KMess.
    Earlier I heard a protocoll change, which involved KMess, aMSN and emesene users too, aMSN and KMess developers first surely only fixed it in their svn/git repos, I don't know what's the case with emesene.
    So my suggestion is: change community/kmess-2.0.4 to community/kmess-git20101017 and same with aMSN and maybe with emesene
    Last edited by Vegita (2010-10-18 11:54:53)

    Vegita wrote:
    actually I'm asking only for community/kmess 2.0.4 -> community/kmess git, as I can see, that there's a fix (maybe patch) for amsn as it was a new packeűage a week ago, anyway it's not the snapshot.
    aur/kmess-stable-git 20100903-1 (14)
        A full-featured MSN Client for KDE - GIT stable branch version
    I would need at least a 20101017 of the stable-git version, and this unsupported thing can happen anywhen, it has a better place in community, as somone uses archlinux and doesn't even know what git is (it's not me, but some of my friends has kmess stopped working too, and has no idea)
    In Arch the main rule is to follow the upstream development (choices, models), you compare kmess to mplayer but they really use different dev models. Mplayer never release, the releases 1.0rcN are only created to annoy some packagers of distros that wait a release number. The last release 1.0rc3 are created from code of one year ago.
    Kmess don't do this, they have tagged releases. What Allan is asking is to you fill a bug report upstream so they release a new version, or change the whole development model for a more agility one.
    Arch have a small number of devs, they can't track the stability/usefulness of the git/svn version so they can attest if is better to use the tagged releases or snapshot of all the programs in the repo. This is a task of upstream.
    In the case of mplayer, the devs only recommend that you use a current svn snapshot, can you point for a similar declaration from Kmess developers?
    And about aur I dont get what you mean, if you need something greater than 20101017 than compile it at a time greater than 20101017 (like today =]), the git's PKGBUILD take snapshots at time you build it.
    I know that all this can not be much convenient for you, but think about the work needed to track the development of the hundreds of programs we have in the repos. The git can be stable now, but its is stable tomorrow? How much time between upgrades? The devs will gonna need to test it every day to see if the msn network is broken. This is not a work for the Arch devs but for Kmess devs.

  • CVS Versioning unable to connect in SQL Developer 2.1

    I just upgraded to SQL developer 2.1 from 1.5. I did the check for updates and the CVS Versioning that gets installed is version 11.1.1.2.36.49.42 For some reason this version will not let me connect through ssh to CVS. I double checked the connection and the test of it fails. The CVS versioning in SQL developer 1.5 worked fine (11.1.1.0.22.49.42). is there any way to use SQL developer 2.1 with CVS Versioning 11.1.1.0.22.49.42??

    I am having this same issue, with slightly different versions and on two different computers. I have SQL Developer 1.5 on WinXP running cvs version 11.1.1.0.22.49.44. Connections to CVS via ssh work fine. I installed SQL Developer 2.1 on a new machine with Win 7. I had to check for updates becuase CVS versioning was missing from this release. The update gave me cvs version 11.1.1.2.36.55.30. I set up a CVS connection and the test failed. I tried exporting the connections - didn't work. I also tried pasting in the cvs_connect.xml file from the old computer to the new one - that also did not work.
    Is there any resolution for this issue? Or a work around?

  • How to replace a program version with a cvs version??

    Hello all,
    I'm using amule-cvs make with this PKGBUILD:
    pkgname=amule
    pkgver=cvs
    pkgrel=5
    pkgdesc="aMule is a eMule-like client for ed2k p2p network"
    url="http://www.amule.org"
    license="GPL"
    depends=('wxgtk' 'curl>=7.12.0' 'libjpeg' 'libtiff'
             'perl' 'x-server' 'gd>=2.0.0' 'crypto++')
    source=(http://www.hirnriss.net/files/cvs/aMule-CVS-20050315.tar.bz2)
    build() {
      cd $startdir/src/amule-$pkgver
      ./configure --prefix=/usr --disable-embedded_crypto --enable-amulecmd --enable-webserver --enable-optimise --enable-amule-daemon
      make || return 1
      make prefix=$startdir/pkg/usr install
    And works well, but the problem is when i do a "pacman -Su" it say that want to install (upgrade) amule-cvs with amule-rc8.
    What can i do in my PKGBUILD for solve it??
    may be the option "replaces=()" that i can see in PKGBUILD.proto??
    Thanks

    I made this but could'nt find anywhere to post it - it automaticaly sets the date as the pkgver and updates the PKGBUILD afterwards:
    # Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
    pkgname=
    pkgver=
    pkgrel=
    pkgdesc="This will checkout and package the latest CVS version."
    url=
    license=
    depends=()
    provides=()
    conflicts=
    makedepends=('cvs')
    cvsmod=""
    cvsroot=""
    build() {
    cd $startdir/src
    touch ~/.cvspass
    cvs -d $cvsroot login
    msg "Connecting to $cvsmod CVS server...."
    cvs -z3 -d $cvsroot/$cvsmod co $cvsmod
    cd $cvsmod
    ./autogen.sh
    msg "CVS checkout done or server timeout"
    msg "Starting make..."
    rm -r ../$cvsmod-build
    mkdir ../$cvsmod-build
    cd ../$cvsmod-build
    ../$cvsmod/configure --prefix=/usr
    make || return 1
    make DESTDIR=$startdir/pkg install
    # Correct the pkgver in our PKGBUILD - this allows correct gensync operation
    # NOTE: pkgver variable must be declared with first 10 lines of PKGBUILD!
    cd $startdir
    old_pkgver=$pkgver
    pkgver=`date +%m%d%y`
    sed -i "1,11 s|pkgver=$old_pkgver|pkgver=$pkgver|" ./PKGBUILD
    # vim:syntax=sh

  • Latest perl update breaks git-svn

    Hi,
    since I update to perl 5.16-02 git svn clone aborts with a invalid checksum error during import a subversion repository like this:
    -- snip ---
    Initializing parent: refs/remotes/trunk@-1
    Checksum mismatch: path/to/file a114fd4db425f02aff0455e0871c6fb935da74fe
    expected:
    got: bfe0d28d1b1ab61a83b6b14bf13f1144
    -- snap ---
    With perl 5.14.2-7 it works like expected. Could anybody conform that? Should I open a bug?
    Framas

    I’m facing the same problem whe I update to git-1.8.4-1 and subversion-1.8.1-2
    I found this page http://git.661346.n2.nabble.com/git-svn … 92205.html
    I resoved this issue with the 6 post's method:
    uli wrote:
    In reply to this post by Jonathan Lambrechts
    I'm facing the same issue. I'm using git-1.8.4 and subversion 1.8.3 on Ubuntu.
    I'm proposing a different modification to Ra.pm:
    --- git-1.8.4.orig/perl/Git/SVN/Ra.pm    2013-09-01 14:30:23.629989557 +0000
    +++ git-1.8.4/perl/Git/SVN/Ra.pm    2013-09-02 06:55:19.666260617 +0000
    @@ -32,6 +32,10 @@
    +END {
    +  $RA = undef;
    +}
    +
    sub _auth_providers () {
        my @rv = (
          SVN::Client::get_simple_provider(),
    add these below to the file /usr/share/perl5/vendor_perl/Git/SVN/Ra.pm  at the right place (maybe start at line 34)
    END {
      $RA = undef;
    temporary method, waiting for the official package to resolve it

  • Git-svn

    Does anyone know where I can find git-svn? It's not in the default repositories.  Thank you
    (By the way, its taken me quite several hours but I finally have a working Arch system.  Honestly I think at least half of the enjoyment of Arch is the satisfaction of getting it up and running.  To me, it felt like quite the accomplishment.)

    m4co wrote:
    In case somebody searches for this issue (like I did),
    The correct way to use git-svn is "git svn" (without the - )
    git svn clone -s http://repo
    Thanks, I was wondering why I couldn't seem to find a package that included git-svn...

  • Setting up Version Management (Git, SVN) for Captivate Projects

    I'm guessing the answer is No, but I thought I would ask:
    Is there any way to set up some kind of Version Management/Source Code management for a Captivate project?
    Currently, I just have a bunch of nearly identical cptx files with some kind of naming convention so that I can tell which one is which. If I need to revert something, I have to hope that I made a "Save As" at the right point in time. If I need to work with a colleague, there is no straight-forward way to review the changes that she made.
    Adobe Captivate is basically a speciallized IDE with some additional graphical stuff. Having some kind of version control tool, especially if it were Git, would be very helpful both for my personal productivity as well as for managing collaboration with my colleagues.

    So far the only WOW version control i have found is AlienBrain but i have a better chance of being struck by lightning on a clear summer day than ever owning it.
    http://www.alienbrain.com/features
    A promising solution is Razuna http://razuna.org/whatisrazuna but I havent "project tested" it yet to see how well it will work while developing in a team enviroment. 
    Something i doubt i will ever find is a solution to "show the difference" in a file similar to how WinMerge http://winmerge.org/ shows the difference in files or compairison of folder directories.
    It would be nice to be able to compare two (or more) captivate files slide by slide with syncronised scrolling to note differences.
    Seems like most people are pretty quiet about what they use for version management.

  • Packer and package GIT, SVN etc. upgrading and finding

    Hi!
    How packer handles (or is it pacman) upgrading git and other packages? I couldn't find answer from AUR or ABS articles with quick look.
    Normally packer -Suy --devel would upgrade all packages from git sourcetree. Does this behaviour require AUR or is the PKGBUILD file hidden in my system? Or what is the magic that makes packer to decide let's clone this repo and install a new version? And does packer know anything else than date of compilation? If there isn't any changes does it detect that?
    Reason I got curious is that I have one develmachine in the corner with git serving me the sourcecode and few PKGBUILDS I use to upgrade the software. Can packer do this all for me?
    Another thing in my mind is how to find packages installed from AUR? Except setting packager in /etc/makepkg.conf?

    packer -Syu --devel updates all packages in a normal manner. Additionally all your AUR-Packages containing svn, git, cvs, ... in its name will be downloaded, compiled and reinstalled.
    If you want to see all packages installed from AUR (inclding other self-built packages) use pacman -Qm
    Last edited by progandy (2012-07-25 22:53:12)

  • [Suggestion] About git,svn package

    I recently want to use git pacakge to get 3d enable on my machine, but I found that it is hard to change git package to the normal one even if normal one updates.
    So I hope PKGBUILD can make package version like this way: [offical version].git[git verseion]
    like mesa-git:
    mesa-7.7.git20100118
    so when mesa is updated to 7.8, we can also change it to the offical version with a simple yaourt -Syu.
    This can be done like following:
    pkgbase="mesa-git"
    pkgname=('mesa' 'libgl' 'ati-dri')
    pkgver=20100119
    _realver=7.7
    pkgrel=1
    arch=(i686 x86_64)
    depends=('libx11>=1.2' 'libxt' 'gcc-libs>=4.3.3' 'libdrm>=2.4.12')
    makedepends=('glproto' 'pkgconfig' 'libdrm>=2.4.12' 'libxxf86vm' 'libxdamage' 'expat>=2.0.1' 'libx11>=1.2.2' 'libxt' 'gcc-libs' 'dri2proto')
    url="http://mesa3d.sourceforge.net"
    license=('custom')
    options=(!makeflags)
    source=(ftp://ftp.archlinux.org/other/mesa/gl-manpages-1.0.1.tar.bz2
    mesa-7.1-link-shared.patch
    LICENSE)
    export gitver=$pkgver
    _gitroot="http://anongit.freedesktop.org/git/mesa/mesa.git"
    _gitname="mesa"
    build() {
    msg "Connecting to git.freedesktop.org GIT server...."
    if [ -d ${srcdir}/$_gitname ] ; then
    cd $_gitname && git pull origin
    msg "The local files are updated."
    else
    git clone $_gitroot
    fi
    msg "GIT checkout done or server timeout"
    msg "Starting make..."
    if [[ -d ${srcdir}/${_gitname}-build ]]; then
    msg "Cleaning the previous build directory..."
    rm -rf ${srcdir}/${_gitname}-build
    fi
    cp -pR ${srcdir}/${_gitname} ${srcdir}/${_gitname}-build
    cd ${srcdir}/${_gitname}-build
    msg "Starting configure..."
    msg "Applying patches..."
    # patch -Np1 -i "${startdir}/mesa-7.1-link-shared.patch" || return 1
    ./autogen.sh --prefix=/usr \
    --with-dri-driverdir=/usr/lib/xorg/modules/dri \
    --with-dri-drivers=swrast,radeon,r200,r300,r600 \
    --enable-gallium \
    --enable-gallium-radeon \
    --disable-gallium-intel \
    --with-state-trackers=dri,egl \
    --enable-glx-tls \
    --with-driver=dri \
    --enable-xcb \
    --disable-glut || return 1
    make || return 1
    cd "${srcdir}/gl-manpages-1.0.1"
    ./configure --prefix=/usr || return 1
    make || return 1
    package_mesa() {
    pkgver="${_realver}.git$gitver"
    depends=('libgl' 'libx11>=1.2.2' 'libxt' 'gcc-libs>=4.4.1' 'dri2proto=2.2' 'libdrm>=2.4.15')
    pkgdesc="Mesa 3-D graphics libraries and include files"
    cd "${srcdir}/${_gitname}-build" || return 1
    make DESTDIR="${pkgdir}" install || return 1
    install -m755 -d "${pkgdir}/usr/bin"
    install -m755 progs/xdemos/glx{gears,info} "${pkgdir}/usr/bin/" || return 1
    rm -f "${pkgdir}/usr/lib/libGL.so"*
    rm -rf "${pkgdir}/usr/lib/xorg"
    rm -f "${pkgdir}/usr/include/GL/glew.h"
    rm -f "${pkgdir}/usr/include/GL/glxew.h"
    rm -f "${pkgdir}/usr/include/GL/wglew.h"
    rm -f "${pkgdir}/usr/include/GL/glut.h"
    cd "${srcdir}/gl-manpages-1.0.1" || return 1
    make DESTDIR="${pkgdir}" install || return 1
    install -m755 -d "${pkgdir}/usr/share/licenses/mesa"
    install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa/" || return 1
    package_libgl() {
    pkgver="${_realver}.git$gitver"
    depends=('libdrm>=2.4.15' 'libxxf86vm' 'libxdamage' 'expat>=2.0.1')
    pkgdesc="Mesa 3-D graphics library and DRI software rasterizer"
    cd "${srcdir}/${_gitname}-build" || return 1
    install -m755 -d "${pkgdir}/usr/lib" || return 1
    install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions"
    bin/minstall lib/libGL.so* "${pkgdir}/usr/lib/" || return 1
    cd src/mesa/drivers/dri
    make -C swrast DESTDIR="${pkgdir}" install || return 1
    # install -m755 libdricore.so "${pkgdir}/usr/lib/xorg/modules/dri/" || return 1
    ln -s libglx.xorg "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" || return 1
    install -m755 -d "${pkgdir}/usr/share/licenses/libgl"
    install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgl/" || return 1
    package_ati-dri() {
    pkgver="${_realver}.git$gitver"
    depends=("libgl=${pkgver}")
    pkgdesc="Mesa DRI drivers for AMD/ATI Radeon"
    conflicts=('xf86-video-ati<6.9.0-6')
    cd "${srcdir}/${_gitname}-build/src/mesa/drivers/dri" || return 1
    make -C radeon DESTDIR="${pkgdir}" install || return 1
    make -C r200 DESTDIR="${pkgdir}" install || return 1
    make -C r300 DESTDIR="${pkgdir}" install || return 1
    make -C r600 DESTDIR="${pkgdir}" install || return 1
    cd "${srcdir}/${_gitname}-build/src/gallium/winsys/drm/radeon/egl"
    make DESTDIR="${pkgdir}" install || return 1
    md5sums=('6ae05158e678f4594343f32c2ca50515'
    'd892b4fbc37fadc0e07debcd4bdfa109'
    '7ba429de367a2b3d273d2230cc705771')
    As you can see, gitver is set to be pkgver and for each package, its pkgver is set to "${_realver}.git$gitver", so we can also get the feature from makepkg ver update, and make packages of simple git version .
    we will get libgl-7.7.git20100119-1-i686.pkg.tar.gz mesa-7.7.git20100119-1-i686.pkg.tar.gz ati-dir-7.7.git20100119-1-i686.pkg.tar.gz from the pkgbuild before.
    And for a package don't need split, a dumb pacakage must be added in pkgname, like following one:
    pkgbase=libdrm-git
    pkgname=("libdrm" "dumb")
    pkgver=20100119
    _realver=2.4.17
    pkgrel=1
    pkgdesc="Userspace interface to kernel DRM services"
    arch=('i686' 'x86_64')
    depends=('glibc')
    options=('!libtool')
    url="http://dri.freedesktop.org/"
    license=('custom')
    replaces=('libdrm>=2.4.12')
    groups=('xorg')
    source=(no-pthread-stubs.patch)
    md5sums=()
    export gitver=$pkgver
    _gitroot="http://anongit.freedesktop.org/git/mesa/drm.git"
    _gitname="drm"
    build() {
    msg "Connecting to git.freedesktop.org GIT server...."
    if [ -d $srcdir/$_gitname ] ; then
    cd $_gitname && git pull origin
    msg "The local files are updated."
    else
    git clone $_gitroot
    fi
    msg "GIT checkout done or server timeout"
    msg "Starting make..."
    if [[ -d ${srcdir}/${_gitname}-build ]]; then
    msg "Cleaning the previous build directory..."
    rm -rf ${srcdir}/${_gitname}-build
    fi
    git clone ${srcdir}/${_gitname} ${srcdir}/${_gitname}-build
    cd ${srcdir}/${_gitname}-build
    cd $srcdir/$_gitname-build
    patch -Np1 -i "${srcdir}/no-pthread-stubs.patch" || return 1
    sh autogen.sh --prefix=/usr \
    --enable-nouveau-experimental-api \
    --enable-radeon-experimental-api \
    --enable-udev || return 1
    make || return 1
    package_libdrm()
    pkgver=${_realver}.git${gitver}
    cd ${srcdir}/${_gitname}-build
    make DESTDIR=${pkgdir} install || return 1
    package_dumb()
    echo a
    md5sums=('9b5ec3bbebe86921e2057694c42f65b8')

    I recently want to use git pacakge to get 3d enable on my machine, but I found that it is hard to change git package to the normal one even if normal one updates.
    So I hope PKGBUILD can make package version like this way: [offical version].git[git verseion]
    like mesa-git:
    mesa-7.7.git20100118
    so when mesa is updated to 7.8, we can also change it to the offical version with a simple yaourt -Syu.
    This can be done like following:
    pkgbase="mesa-git"
    pkgname=('mesa' 'libgl' 'ati-dri')
    pkgver=20100119
    _realver=7.7
    pkgrel=1
    arch=(i686 x86_64)
    depends=('libx11>=1.2' 'libxt' 'gcc-libs>=4.3.3' 'libdrm>=2.4.12')
    makedepends=('glproto' 'pkgconfig' 'libdrm>=2.4.12' 'libxxf86vm' 'libxdamage' 'expat>=2.0.1' 'libx11>=1.2.2' 'libxt' 'gcc-libs' 'dri2proto')
    url="http://mesa3d.sourceforge.net"
    license=('custom')
    options=(!makeflags)
    source=(ftp://ftp.archlinux.org/other/mesa/gl-manpages-1.0.1.tar.bz2
    mesa-7.1-link-shared.patch
    LICENSE)
    export gitver=$pkgver
    _gitroot="http://anongit.freedesktop.org/git/mesa/mesa.git"
    _gitname="mesa"
    build() {
    msg "Connecting to git.freedesktop.org GIT server...."
    if [ -d ${srcdir}/$_gitname ] ; then
    cd $_gitname && git pull origin
    msg "The local files are updated."
    else
    git clone $_gitroot
    fi
    msg "GIT checkout done or server timeout"
    msg "Starting make..."
    if [[ -d ${srcdir}/${_gitname}-build ]]; then
    msg "Cleaning the previous build directory..."
    rm -rf ${srcdir}/${_gitname}-build
    fi
    cp -pR ${srcdir}/${_gitname} ${srcdir}/${_gitname}-build
    cd ${srcdir}/${_gitname}-build
    msg "Starting configure..."
    msg "Applying patches..."
    # patch -Np1 -i "${startdir}/mesa-7.1-link-shared.patch" || return 1
    ./autogen.sh --prefix=/usr \
    --with-dri-driverdir=/usr/lib/xorg/modules/dri \
    --with-dri-drivers=swrast,radeon,r200,r300,r600 \
    --enable-gallium \
    --enable-gallium-radeon \
    --disable-gallium-intel \
    --with-state-trackers=dri,egl \
    --enable-glx-tls \
    --with-driver=dri \
    --enable-xcb \
    --disable-glut || return 1
    make || return 1
    cd "${srcdir}/gl-manpages-1.0.1"
    ./configure --prefix=/usr || return 1
    make || return 1
    package_mesa() {
    pkgver="${_realver}.git$gitver"
    depends=('libgl' 'libx11>=1.2.2' 'libxt' 'gcc-libs>=4.4.1' 'dri2proto=2.2' 'libdrm>=2.4.15')
    pkgdesc="Mesa 3-D graphics libraries and include files"
    cd "${srcdir}/${_gitname}-build" || return 1
    make DESTDIR="${pkgdir}" install || return 1
    install -m755 -d "${pkgdir}/usr/bin"
    install -m755 progs/xdemos/glx{gears,info} "${pkgdir}/usr/bin/" || return 1
    rm -f "${pkgdir}/usr/lib/libGL.so"*
    rm -rf "${pkgdir}/usr/lib/xorg"
    rm -f "${pkgdir}/usr/include/GL/glew.h"
    rm -f "${pkgdir}/usr/include/GL/glxew.h"
    rm -f "${pkgdir}/usr/include/GL/wglew.h"
    rm -f "${pkgdir}/usr/include/GL/glut.h"
    cd "${srcdir}/gl-manpages-1.0.1" || return 1
    make DESTDIR="${pkgdir}" install || return 1
    install -m755 -d "${pkgdir}/usr/share/licenses/mesa"
    install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa/" || return 1
    package_libgl() {
    pkgver="${_realver}.git$gitver"
    depends=('libdrm>=2.4.15' 'libxxf86vm' 'libxdamage' 'expat>=2.0.1')
    pkgdesc="Mesa 3-D graphics library and DRI software rasterizer"
    cd "${srcdir}/${_gitname}-build" || return 1
    install -m755 -d "${pkgdir}/usr/lib" || return 1
    install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions"
    bin/minstall lib/libGL.so* "${pkgdir}/usr/lib/" || return 1
    cd src/mesa/drivers/dri
    make -C swrast DESTDIR="${pkgdir}" install || return 1
    # install -m755 libdricore.so "${pkgdir}/usr/lib/xorg/modules/dri/" || return 1
    ln -s libglx.xorg "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" || return 1
    install -m755 -d "${pkgdir}/usr/share/licenses/libgl"
    install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgl/" || return 1
    package_ati-dri() {
    pkgver="${_realver}.git$gitver"
    depends=("libgl=${pkgver}")
    pkgdesc="Mesa DRI drivers for AMD/ATI Radeon"
    conflicts=('xf86-video-ati<6.9.0-6')
    cd "${srcdir}/${_gitname}-build/src/mesa/drivers/dri" || return 1
    make -C radeon DESTDIR="${pkgdir}" install || return 1
    make -C r200 DESTDIR="${pkgdir}" install || return 1
    make -C r300 DESTDIR="${pkgdir}" install || return 1
    make -C r600 DESTDIR="${pkgdir}" install || return 1
    cd "${srcdir}/${_gitname}-build/src/gallium/winsys/drm/radeon/egl"
    make DESTDIR="${pkgdir}" install || return 1
    md5sums=('6ae05158e678f4594343f32c2ca50515'
    'd892b4fbc37fadc0e07debcd4bdfa109'
    '7ba429de367a2b3d273d2230cc705771')
    As you can see, gitver is set to be pkgver and for each package, its pkgver is set to "${_realver}.git$gitver", so we can also get the feature from makepkg ver update, and make packages of simple git version .
    we will get libgl-7.7.git20100119-1-i686.pkg.tar.gz mesa-7.7.git20100119-1-i686.pkg.tar.gz ati-dir-7.7.git20100119-1-i686.pkg.tar.gz from the pkgbuild before.
    And for a package don't need split, a dumb pacakage must be added in pkgname, like following one:
    pkgbase=libdrm-git
    pkgname=("libdrm" "dumb")
    pkgver=20100119
    _realver=2.4.17
    pkgrel=1
    pkgdesc="Userspace interface to kernel DRM services"
    arch=('i686' 'x86_64')
    depends=('glibc')
    options=('!libtool')
    url="http://dri.freedesktop.org/"
    license=('custom')
    replaces=('libdrm>=2.4.12')
    groups=('xorg')
    source=(no-pthread-stubs.patch)
    md5sums=()
    export gitver=$pkgver
    _gitroot="http://anongit.freedesktop.org/git/mesa/drm.git"
    _gitname="drm"
    build() {
    msg "Connecting to git.freedesktop.org GIT server...."
    if [ -d $srcdir/$_gitname ] ; then
    cd $_gitname && git pull origin
    msg "The local files are updated."
    else
    git clone $_gitroot
    fi
    msg "GIT checkout done or server timeout"
    msg "Starting make..."
    if [[ -d ${srcdir}/${_gitname}-build ]]; then
    msg "Cleaning the previous build directory..."
    rm -rf ${srcdir}/${_gitname}-build
    fi
    git clone ${srcdir}/${_gitname} ${srcdir}/${_gitname}-build
    cd ${srcdir}/${_gitname}-build
    cd $srcdir/$_gitname-build
    patch -Np1 -i "${srcdir}/no-pthread-stubs.patch" || return 1
    sh autogen.sh --prefix=/usr \
    --enable-nouveau-experimental-api \
    --enable-radeon-experimental-api \
    --enable-udev || return 1
    make || return 1
    package_libdrm()
    pkgver=${_realver}.git${gitver}
    cd ${srcdir}/${_gitname}-build
    make DESTDIR=${pkgdir} install || return 1
    package_dumb()
    echo a
    md5sums=('9b5ec3bbebe86921e2057694c42f65b8')

  • [SOLVED] urxvt and Git/SVN commit problem

    I have a problem where SVN and Git cant see that the EDITOR variable is set on my system when I go to make a commit, they both error out because the EDITOR variable (as well as other variables are blank).  This is the error that I get from SVN:
    ┌─(vendion@Tyre Fri, 02 Sep 11)───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────(08:48)──┘
    └─(/srv/http/juice38)─> sudo svn ci
    svn: Commit failed (details follow):
    svn: Could not use external editor to fetch log message; consider setting the $SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options
    svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no 'editor-cmd' run-time configuration option was found
    ┌─(vendion@Tyre Fri, 02 Sep 11)───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────(08:48)──┘
    └─(/srv/http/juice38)─> echo $EDITOR
    vim
    Git acts the same way but with its own error message (sorry don't have an example of this currently), is there a way to fix this so that Git and SVN will see that I do have an EDITOR set and use it with out having to change terminals (works fine in xterm...)
    Last edited by vendion (2011-09-02 16:08:48)

    Sorry over looked that, when I run sudo to check the EDITOR variable it also has vim set
    ┌─(vendion@Tyre Fri, 02 Sep 11)───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────(09:42)──┘
    └─(/home/vendion/Projects/TickIt)─> sudo echo $EDITOR
    Password:
    vim

  • CVS versioning

    Hi,
    I am trying to use CVS to manage version control for a business
    components project. I have the following problem:
    - If we include the project file in CVS every time somebody
    tries to commit the changes he gets a conflict in all the
    project files.
    - If we try to use different project files we are not able to
    use the same business components stored in the initial project.
    Has someone used cvs for a OBC4J project?
    am I doing something wrong?
    Thanks
    Andres Umana

    Hi David,
    Thanks for the information.
    Yes, I am trying to merge the jpr file.
    Great that you are working on that.
    In the mean time is it possible to do any of this options:
    - Reconstruct the hash, renumbering manually.
    - Using a project file for each of the developers. Is it
    possible to import the source of a OBC4J package to a different
    project?
    Thanks again for your information
    Andres Umana
    Hi
    Just want to confirm you are merging the project jpr file?
    BC4J files with in a project are held in a hashmap, the
    hashmap contents are written out into the jpr file. The hashmap
    contents can be written out in any order, therefore the problem
    when merging the jpr file back into the CVS repository.
    In the production release of jdeveloper - to be release early
    next year, we have made the hashmap write is contents using a
    ordered pattern. This will greatly help merging the project jpr
    file and should solve your problem

  • HELP! - Lost CVS Version Control Profiles in JSC-2

    Can anyone tell me how to restore the default JSC-2 Version Management CVS Profile?
    Somehow I managed to delete the CVS AND the VSS Profiles, so I cannot set up ANY sort of Version Management.
    What can I do to fix this??
    Many thanks in advance,
    <-j->

    I think the easiest way would be to start with a fresh userdir. That's where the IDE stores all the per-user changed information.
    Move $HOME/.Creator/2_? (0 or 1 depending on which update version you are) to something like $HOME/.Creator/2_?.myOld ;-)
    Now the next time you start the IDE, everything should be back in order with the version control. But you will have to open you projects again etc!
    Thanks,
    -- Marco

  • Problems with mplayer CVS version

    Hi everyone,
    Do you know how to change the audio channel with mplayer?
    For exemple, I want to change an audio from french to english...
    The both audio track is in the matroska of course
    And do you know how to change subtitle??
    Thanks
    Kingboxer

    In the man pages?  Seriously, dude, this ain't forum material

  • Arch vs. debian sid?

    Hey y'all,
    I've been using arch for a while now...but debian sid always seemed like a decent idea due to the large software repositories available for debian. Considering the minimal, net install version: what are your opinions?

    sand_man wrote:
    mutlu_inek wrote:
    The only advantage is see in Debian is that it offers debug packages. I hate not having them in Arch.
    Other than that, I cannot imagine a better distribution.
    But with ABS you can create your own debug packages if you really needed to.
    I do admit that the option of quickly downloadable binary packages of debug symbols is very nice.
    I'm trying out Debian Squeeze on my laptop. I'll probably go back to Arch on it, for one main reason: It's MUCH easier to create a custom package, or a more up-to-date version of it in Arch (when it's not already there, thanks to the massive AUR). If I really want a new version of a package, and for some odd reason Arch doesn't have it, I can grab the PKGBUILD, edit the pkgver and md5sums, and usually, I'm done. On Debian... well, if there is anything like that, let me know please. I haven't used Checkinstall yet, I admit that too, but I'd be worried about using a package generator for Arch, let alone a much more heavily patched and such distro like Debian. Checkinstall is basically just a fakeroot-style wrapper around make install, right? While the Debian repos are expansive, they do miss edge cases more than you might think (Avidemux is missing! There is an unofficial repo for it though). Also gone is the ability to grab development (git, svn, cvs) snapshots of packages without much hacking, whereas on Arch there's a ton of devel PKGBUILDs in the AUR, and worst case it's fairly simple to make your own.
    Really, PKGBUILDs have spoiled me... the only distro/OS even close to Arch's bleeding-edge updates and wide coverage is FreeBSD, which at least has a visible way of rebuilding packages and modifying the build files. Slackware, maybe (a little over-manual, but still nice), and Gentoo's ebuilds are quite complex, but I'm getting off topic.
    I recommend that people who are considering Debian try it, like I have. Just be sure that all your odd software works fine. If not, welcome back to the land of ./configure and make, just with Checkinstall thrown in.
    In the interests of NOT starting a flame war, the above is my own personal complaints about Debian. I think Debian is a very solid distro, and I'm glad Debian exists. I just like to state my opinion. All the above sounds decidedly negative, which isn't the impression I meant to give -- again, I think Debian's nice for a lot of uses and applaud their work.

Maybe you are looking for

  • How to create the Report Server tnsnames entry

    Hi I'm trying to integrate Oracle Forms with Oracle Reports and the document says that I have to know the tnsnames.ora entry for the report server. In other versions it was created automatically but in 11g there is no configuration. How do I configur

  • Show tooltip on click of chart values in line chart

    I have given a task, where i need to show tool tip on click of the chart values. That tool tip should also have a close button. Tool tip should be closed only when a user clicks the close buttton or when the user clicks on other chart values. Thanks

  • Cutting text or other from a pdf document in preview

    Hi, Cropping a PDF document in is simple, if you want what is OUTSIDE your crop to be removed. What do I do when I want to remove part of what is in a document and leave the rest  - ie crop it out, not make it the focus ? Help appreciated.

  • How to set six WRT300N wireless router use the same SSID

    I have six WRT300N wireless router and cannot setting shared the same SSID.... Somebody can help me?

  • Connection of SUN to internet and to PC

    Hi, Help me please. 1)How could i connect my Sun Ultra to internet(dial up). Do i need a special modem for Sun.....or ethernet card would be enough? Below is the system specification: Sun UltraSPARC-IIi 270MHz processor 256 MB memory 8.4 GB HDD 100/1