You are not logged in.

#1 2008-08-10 09:49:57

violagirl23
Member
Registered: 2008-01-24
Posts: 184

Package's name change? / makepkg can't fetch sources from my URL!

My next package to submit to the AUR has had an official namechange from z80 Assembly IDE to Wabbitcode. The program still displays the old name; however, it is going to be changed soon. Therefore I am torn on what name to use, seeing as it does not look like you have an option later to change a package's name. Would it still be all right to use the newer name in the PKGBUILD even though it is still using the older one? (until it gets updated with a new name in a little while)

Last edited by violagirl23 (2008-08-10 21:22:34)


"You can't just ask to borrow somebody else's lampshade. It's AWKWARD!"

Offline

#2 2008-08-10 10:03:06

pressh
Developer/TU
From: Netherlands
Registered: 2005-08-14
Posts: 1,719

Re: Package's name change? / makepkg can't fetch sources from my URL!

It much depends on when the new version which will use the new name is going to be released. If it is a matter of weeks use the new name, otherwise I'd go with the ramblings below.

It seems the current version is still released as z80 Assembly IDE, so I would use that name.
If a new version comes out under the name Wabbitcode, use 'provides' in the PKGBUILD with the new name.
Further add that time add the old one to this wiki page: http://wiki.archlinux.org/index.php/AUR_CleanUp_Day

Offline

#3 2008-08-10 19:23:52

violagirl23
Member
Registered: 2008-01-24
Posts: 184

Re: Package's name change? / makepkg can't fetch sources from my URL!

All right, I had one more question. The download URL is , but I can't seem to fetch the sources correctly. How would I modify it to correctly fetch the sources? If I click on it in Firefox, it pops up a box to download the file, but I think I need to write the URL a little differently for makepkg to be able to fetch the sources.


"You can't just ask to borrow somebody else's lampshade. It's AWKWARD!"

Offline

#4 2008-08-10 21:33:54

catwell
Member
From: Bretagne, France
Registered: 2008-02-20
Posts: 207
Website

Re: Package's name change? / makepkg can't fetch sources from my URL!

That's a bug in the latest version of makepkg, it can't fetch sources whose URL include a question mark.

Offline

#5 2008-08-10 22:01:56

violagirl23
Member
Registered: 2008-01-24
Posts: 184

Re: Package's name change? / makepkg can't fetch sources from my URL!

How can I get around this? I tried doing

set -f
makepkg -g

but it still didn't work. After reading http://www.archlinux.org/pipermail/pacm … 12715.html, I thought that would solve the problem.

This is my exact PKGBUILD:

# Contributer: Megan M <violagirl23@gmail.com>

pkgname=z80asmide
pkgver=1.2
pkgrel=1
pkgdesc="z80 Assembly IDE"
arch=('i686' 'x86_64')
url="http://www.revsoft.org/projects/z80-assembly-ide/"
license=('GPL')
depends=('gtk2>=2.8' 'openssl')
install="${pkgname}.install"
source=('http://www.revsoft.org/phpBB2/download.php?id=370')
md5sums=('0a9c4523cf1416660217904652134593')

build()
{
    cd ${srcdir}/${pkgname}-${pkgver}
    make || return 1
    mkdir -p $pkgdir/usr/bin/
    make install DESTDIR=$pkgdir
}

If I make it source=('http://www.revsoft.org/phpBB2/download.php?id=370'), it downloads a file called download.php?id=370 and spits out errors, and if I remove the single quotes, it just won't download anything at all (whether I did set -f or not the situation remains the same). How can I remedy this?
When I download it with wget, it does indeed misname the file to download.php?id=370, but I can rename it back to its proper name and it is indeed the right file. I just need to figure out how to get makepkg to download it!

Last edited by violagirl23 (2008-08-10 23:44:15)


"You can't just ask to borrow somebody else's lampshade. It's AWKWARD!"

Offline

#6 2008-08-11 00:50:49

Garns
Member
Registered: 2008-05-28
Posts: 239

Re: Package's name change? / makepkg can't fetch sources from my URL!

violagirl23 wrote:

How can I get around this? I tried doing

set -f
makepkg -g

but it still didn't work. After reading http://www.archlinux.org/pipermail/pacm … 12715.html, I thought that would solve the problem.

If I make it source=('http://www.revsoft.org/phpBB2/download.php?id=370'), it downloads a file called download.php?id=370 and spits out errors, and if I remove the single quotes, it just won't download anything at all (whether I did set -f or not the situation remains the same). How can I remedy this?
When I download it with wget, it does indeed misname the file to download.php?id=370, but I can rename it back to its proper name and it is indeed the right file. I just need to figure out how to get makepkg to download it!

Im afraid at the moment there is not much you can do to fix this.  Except editing makepkg by hand (that's where the set -f would belong)  or getting the latest version from git. The easy workaround would be downloading the file by hand.

Offline

#7 2008-08-11 10:59:11

catwell
Member
From: Bretagne, France
Registered: 2008-02-20
Posts: 207
Website

Re: Package's name change? / makepkg can't fetch sources from my URL!

+1. Use wget or curl directly in the build section of the PKGBUILD temporarily.

Offline

#8 2008-08-11 15:44:44

violagirl23
Member
Registered: 2008-01-24
Posts: 184

Re: Package's name change? / makepkg can't fetch sources from my URL!

How would I get that working correctly? I tried the following, but it still tries to download the URL first and thus fails the md5 sum check and won't continue:

build()
{
    wget http://www.revsoft.org/phpBB2/download.php?id=370
    mv download.php?id=370 z80asmide-1.2.tar.gz
    cd ${srcdir}
    bsdtar -x -f z80asmide-1.2.tar.gz
    cd ${srcdir}/${pkgname}-${pkgver}
    make || return 1
    mkdir -p $pkgdir/usr/bin/
    make install DESTDIR=$pkgdir
}

"You can't just ask to borrow somebody else's lampshade. It's AWKWARD!"

Offline

#9 2008-08-11 17:24:46

Daenyth
Forum Fellow
From: Boston, MA
Registered: 2008-02-24
Posts: 1,244

Re: Package's name change? / makepkg can't fetch sources from my URL!

Remove it from the source array, and in build():
wget 'url' -O yourfilename.

Offline

#10 2008-08-11 19:21:28

violagirl23
Member
Registered: 2008-01-24
Posts: 184

Re: Package's name change? / makepkg can't fetch sources from my URL!

Okay... then I have one more question. I'm trying to build in the md5sum check; however, my knowledge of bash is limited and I'm obviously doing something wrong. I am having it abort if the sums do not match... but right now it is always aborting, even if they do. Could somone tell me what I am doing wrong?

build()
{
    cd ${srcdir}    
    wget "http://www.revsoft.org/phpBB2/download.php?id=370" -O z80asmide-1.2.tar.gz
    md5sum z80asmide-1.2.tar.gz > MD5SUM
    MD5SUM1=MD5SUM    
    if [ ${MD5SUM1} != "0a9c4523cf1416660217904652134593 z80asmide-1.2.tar.gz" ]; then
      echo "ERROR: MD5 checksums do not match. Aborting...."
      exit 1
    fi
    rm MD5SUM    
    bsdtar -x -f z80asmide-1.2.tar.gz
    cd ${pkgname}-${pkgver}
    make || return 1
    mkdir -p $pkgdir/usr/bin/
    make install DESTDIR=$pkgdir
}

Last edited by violagirl23 (2008-08-11 19:23:43)


"You can't just ask to borrow somebody else's lampshade. It's AWKWARD!"

Offline

#11 2008-08-11 20:44:09

catwell
Member
From: Bretagne, France
Registered: 2008-02-20
Posts: 207
Website

Re: Package's name change? / makepkg can't fetch sources from my URL!

What you wrote is very complicated and wrong. You could use for example:

[ `md5sum z80asmide-1.2.tar.gz | cut -d " " -f 1` == "0a9c4523cf1416660217904652134593" ] || (
   echo "ERROR: MD5 checksums do not match. Aborting..." &&
   exit 1 )

Offline

#12 2008-08-11 20:47:14

shining
Pacman Developer
Registered: 2006-05-10
Posts: 2,043

Re: Package's name change? / makepkg can't fetch sources from my URL!

violagirl23 wrote:

Okay... then I have one more question. I'm trying to build in the md5sum check; however, my knowledge of bash is limited and I'm obviously doing something wrong. I am having it abort if the sums do not match... but right now it is always aborting, even if they do. Could somone tell me what I am doing wrong?

build()
{
    cd ${srcdir}    
    wget "http://www.revsoft.org/phpBB2/download.php?id=370" -O z80asmide-1.2.tar.gz
    md5sum z80asmide-1.2.tar.gz > MD5SUM
    MD5SUM1=MD5SUM    
    if [ ${MD5SUM1} != "0a9c4523cf1416660217904652134593 z80asmide-1.2.tar.gz" ]; then
      echo "ERROR: MD5 checksums do not match. Aborting...."
      exit 1
    fi
    rm MD5SUM    
    bsdtar -x -f z80asmide-1.2.tar.gz
    cd ${pkgname}-${pkgver}
    make || return 1
    mkdir -p $pkgdir/usr/bin/
    make install DESTDIR=$pkgdir
}

Actually, I wouldn't put wget in build. I would just run it manually.
That way, when 3.2.1 is released, you don't have to edit that PKGBUILD again, the normal one will already work just fine.
That would also avoid you that md5 problem altogether. it is way too overkill to re-implement that in the build() function. Don't do that smile

Just for your information (ie for educational purpose, not actual use), try this :

sum=$(md5sum z80asmide-1.2.tar.gz | awk '{print $1}')
[ $sum != "0a9c4523cf1416660217904652134593" ] && return 1

Edit : I just saw catwell beat me to it with a slight alternative which is all fine too smile


pacman roulette : pacman -S $(pacman -Slq | LANG=C sort -R | head -n $((RANDOM % 10)))

Offline

#13 2008-08-12 09:20:35

violagirl23
Member
Registered: 2008-01-24
Posts: 184

Re: Package's name change? / makepkg can't fetch sources from my URL!

Okay... I think I've got something that works now then. I don't mind putting wget directly into the package build for now, as I will be watching careful for the update to 3.1 and will then change it to how it should be. This way everything can still be automated for the meantime.

build()
{
    cd ${srcdir}    
    wget "http://www.revsoft.org/phpBB2/download.php?id=370" -O z80asmide-1.2.tar.gz
    sum=$(md5sum z80asmide-1.2.tar.gz | awk '{print $1}')
    if [ $sum != "0a9c4523cf1416660217904652134593" ]; then
      echo "ERROR: MD5 checksums do not match. Aborting..."
      exit 1
    fi
    bsdtar -x -f z80asmide-1.2.tar.gz
    cd ${pkgname}-${pkgver}
    make || return 1
    mkdir -p $pkgdir/usr/bin/
    make install DESTDIR=$pkgdir
}

Except for a slight problem I am having with a .desktop file not being installed when done with the PKGBUILD method, everything else seems flawless. Once I figure that out it should be submit-worthy. Hoorah!


"You can't just ask to borrow somebody else's lampshade. It's AWKWARD!"

Offline

Board footer

Powered by FluxBB