[Frugalware-darcs] pacman: new package name format for fpm
packages: pkgname-pkgver-pkgrel-arch
VMiklos
vmiklos at frugalware.org
Mon Dec 26 10:59:28 CET 2005
[new package name format for fpm packages: pkgname-pkgver-pkgrel-arch
VMiklos <vmiklos at frugalware.org>**20051210130500
so the -arch suffix is added
NOTE: under PM_DBPATH we still use the old format
] {
hunk ./doc/makepkg.8.in 42
+archs=('i686')
hunk ./doc/makepkg.8.in 62
-which will be of the form \fI$pkgname-$pkgver-$pkgrel.fpm\fP. The fourth
+which will be of the form \fI$pkgname-$pkgver-$pkgrel-$arch.fpm\fP. The fourth
hunk ./doc/makepkg.8.in 115
-something like name-version-release.fpm. Done!
+something like name-version-release-arch.fpm. Done!
hunk ./doc/makepkg.8.in 288
+.TP
+.B archs \fI(array)\fP
+This array defines on which architectures the given package is avalibable.
+If it's not available, that will mean that gensync will skip it when generating
+package databases.
+
hunk ./doc/makepkg.8.in 357
-\fBmakepkg\fP will not build a package if a \fIpkgname-pkgver-pkgrel.fpm\fP
+\fBmakepkg\fP will not build a package if a \fIpkgname-pkgver-pkgrel-arch.fpm\fP
hunk ./lib/libalpm/add.c 116
- if(pkg_splitname(name, pkgname, pkgver) == -1) {
+ if(pkg_splitname(name, pkgname, pkgver, PM_PKG_WITH_ARCH) == -1) {
hunk ./lib/libalpm/alpm.h 159
+
+/* package name formats */
+#define PM_PKG_WITHOUT_ARCH 0 /* pkgname-pkgver-pkgrel, used under PM_DBPATH */
+#define PM_PKG_WITH_ARCH 1 /* ie, pkgname-pkgver-pkgrel-arch, used under PM_CACHEDIR */
hunk ./lib/libalpm/db.c 270
- if(pkg_splitname(name, info->name, info->version) == -1) {
+ if(pkg_splitname(name, info->name, info->version, PM_PKG_WITHOUT_ARCH) == -1) {
hunk ./lib/libalpm/package.c 417
-int pkg_splitname(char *target, char *name, char *version)
+int pkg_splitname(char *target, char *name, char *version, int *witharch)
hunk ./lib/libalpm/package.c 437
+ if(witharch) {
+ /* trim architecture */
+ if((p = strrchr(tmp, '-'))) {
+ *p = 0;
+ }
+ }
hunk ./lib/libalpm/package.h 96
-int pkg_splitname(char *target, char *name, char *version);
+int pkg_splitname(char *target, char *name, char *version, int *witharch);
hunk ./lib/libalpm/sync.c 551
- snprintf(str, PATH_MAX, "%s%s/%s-%s" PM_EXT_PKG, handle->root, handle->cachedir, spkg->name, spkg->version);
+ snprintf(str, PATH_MAX, "%s%s/%s-%s-%s" PM_EXT_PKG, handle->root, handle->cachedir, spkg->name, spkg->version, spkg->arch);
hunk ./scripts/gensync 25
+[ -z "$arch" ] && arch=`arch`
+CARCH="$arch"
+
hunk ./scripts/gensync 60
- pkgfile="$pkgdir/$pkgname-$pkgver-$pkgrel.fpm"
+ pkgfile="$pkgdir/$pkgname-$pkgver-$pkgrel-$arch.fpm"
hunk ./scripts/gensync 62
- pkgfile="$destdir/$pkgname-$pkgver-$pkgrel.fpm"
+ pkgfile="$destdir/$pkgname-$pkgver-$pkgrel-$arch.fpm"
hunk ./scripts/gensync 91
+ echo "%ARCH%" >>desc
+ echo "$arch" >>desc
+ echo "" >>desc
hunk ./scripts/gensync 147
+in_array()
+{
+ needle=$1
+ shift 1
+ # backward compatibility: if array() undefined, it's available for all archs
+ [ -z "$1" ] && return 0
+ for i in $*
+ do
+ [ "$i" == "$needle" ] && return 0
+ done
+ return 1
+}
+
hunk ./scripts/gensync 185
- unset nobuild
+ unset nobuild archs
hunk ./scripts/gensync 187
- [ "$nobuild" ] && continue
+ if ! in_array $arch ${archs[@]} || [ "$nobuild" ]; then
+ continue
+ fi
hunk ./scripts/gensync 191
- pkgfile="$pkgdir/$pkgname-$pkgver-$pkgrel.fpm"
+ pkgfile="$pkgdir/$pkgname-$pkgver-$pkgrel-$arch.fpm"
hunk ./scripts/gensync 193
- pkgfile="$destdir/$pkgname-$pkgver-$pkgrel.fpm"
+ pkgfile="$destdir/$pkgname-$pkgver-$pkgrel-$arch.fpm"
hunk ./scripts/makepkg 372
-if [ -f $PKGDEST/${pkgname}-${pkgver}-${pkgrel}.fpm -a "$FORCE" = "0" -a "$GENMD5" = "0" ]; then
+if [ -f $PKGDEST/${pkgname}-${pkgver}-${pkgrel}-${CARCH}.fpm -a "$FORCE" = "0" -a "$GENMD5" = "0" ]; then
hunk ./scripts/makepkg 375
- pacman --upgrade $PKGDEST/${pkgname}-${pkgver}-${pkgrel}.fpm
+ pacman --upgrade $PKGDEST/${pkgname}-${pkgver}-${pkgrel}-${CARCH}.fpm
hunk ./scripts/makepkg 765
- cmd="tar czvf $PKGDEST/$pkgname-$pkgver-$pkgrel.fpm .PKGINFO .FILELIST .INSTALL *"
+ cmd="tar czvf $PKGDEST/$pkgname-$pkgver-$pkgrel-$CARCH.fpm .PKGINFO .FILELIST .INSTALL *"
hunk ./scripts/makepkg 767
- cmd="tar czvf $PKGDEST/$pkgname-$pkgver-$pkgrel.fpm .PKGINFO .FILELIST *"
+ cmd="tar czvf $PKGDEST/$pkgname-$pkgver-$pkgrel-$CARCH.fpm .PKGINFO .FILELIST *"
hunk ./scripts/makepkg 815
- pacman --upgrade $PKGDEST/${pkgname}-${pkgver}-${pkgrel}.fpm
+ pacman --upgrade $PKGDEST/${pkgname}-${pkgver}-${pkgrel}-${CARCH}.fpm
hunk ./scripts/updatesync 26
+[ -z "$arch" ] && arch=`arch`
+CARCH="$arch"
+
hunk ./scripts/updatesync 63
- pkgfile="$pkgdir/$pkgname-$pkgver-$pkgrel.fpm"
+ pkgfile="$pkgdir/$pkgname-$pkgver-$pkgrel-$arch.fpm"
hunk ./scripts/updatesync 65
- pkgfile="$destdir/$pkgname-$pkgver-$pkgrel.fpm"
+ pkgfile="$destdir/$pkgname-$pkgver-$pkgrel-$arch.fpm"
hunk ./scripts/updatesync 94
+ echo "%ARCH%" >>desc
+ echo "$arch" >>desc
+ echo "" >>desc
hunk ./scripts/updatesync 216
- pkgfile="$pkgdir/$pkgname-$pkgver-$pkgrel.fpm"
+ pkgfile="$pkgdir/$pkgname-$pkgver-$pkgrel-$arch.fpm"
hunk ./scripts/updatesync 218
- pkgfile="$destdir/$pkgname-$pkgver-$pkgrel.fpm"
+ pkgfile="$destdir/$pkgname-$pkgver-$pkgrel-$arch.fpm"
hunk ./src/pacman/package.c 182
+ }
+ /* trim architecture */
+ if((p = strrchr(tmp, '-'))) {
+ *p = 0;
hunk ./src/pacman/sync.c 610
- char *pkgname, *pkgver;
+ char *pkgname, *pkgver, *pkgarch;
hunk ./src/pacman/sync.c 614
+ pkgarch = alpm_pkg_getinfo(spkg, PM_PKG_ARCH);
hunk ./src/pacman/sync.c 618
- snprintf(path, PATH_MAX, "%s-%s" PM_EXT_PKG, pkgname, pkgver);
+ snprintf(path, PATH_MAX, "%s-%s-%s" PM_EXT_PKG, pkgname, pkgver, pkgarch);
hunk ./src/pacman/sync.c 626
- snprintf(path, PATH_MAX, "%s/%s-%s" PM_EXT_PKG, ldir, pkgname, pkgver);
+ snprintf(path, PATH_MAX, "%s/%s-%s-%s" PM_EXT_PKG, ldir, pkgname, pkgver, pkgarch);
hunk ./src/pacman/sync.c 629
- snprintf(path, PATH_MAX, "%s-%s" PM_EXT_PKG, pkgname, pkgver);
+ snprintf(path, PATH_MAX, "%s-%s-%s" PM_EXT_PKG, pkgname, pkgver, pkgarch);
hunk ./src/pacman/sync.c 632
- vprint(" %s-%s" PM_EXT_PKG " is already in the cache\n", pkgname, pkgver);
+ vprint(" %s-%s-%s" PM_EXT_PKG " is already in the cache\n", pkgname, pkgver, pkgarch);
hunk ./src/pacman/sync.c 678
- snprintf(pkgname, PATH_MAX, "%s-%s" PM_EXT_PKG,
+ snprintf(pkgname, PATH_MAX, "%s-%s.%s" PM_EXT_PKG,
hunk ./src/pacman/sync.c 680
- (char *)alpm_pkg_getinfo(spkg, PM_PKG_VERSION));
+ (char *)alpm_pkg_getinfo(spkg, PM_PKG_VERSION),
+ (char *)alpm_pkg_getinfo(spkg, PM_PKG_ARCH));
}
More information about the Frugalware-darcs
mailing list