Arch의 AUR에서 gnome-shell-extension-common을 설치하는 중 오류가 발생했습니다.

Arch의 AUR에서 gnome-shell-extension-common을 설치하는 중 오류가 발생했습니다.

저는 Arch Linux를 처음 사용하고 Gnome Tweak Tool용 gnome-shell-extension-user-theme을 설치하여 Gnome Shell에 테마를 적용하고 싶었습니다. 그러나 AUR에서 gnome-shell-extension-common-git을 빌드하려고 하면 계속 오류가 발생합니다. 버전 번호에는 하이픈이 포함되어 있지만 PKGBUILD를 편집하면 다시 작성됩니다.

난 달린다:

yaourt gnome-shell-extension-common-git

PKGBUILD의 내용을 봅니다.

# Maintainer: Alucryd <alucryd at gmail dot com>
# Contributor: Sebastian Lenz <[email protected]>

pkgname=gnome-shell-extension-common-git
pkgver=3.8.1.7
pkgrel=1
pkgdesc="Common files for the GNOME Shell Extensions"
arch=('any')
url="http://live.gnome.org/GnomeShell/Extensions"
license=('GPL' 'LGPL')
depends=('gnome-shell')
makedepends=('git' 'gnome-common' 'intltool')
provides=('gnome-shell-extension-common')
conflicts=('gnome-shell-extension-git' 'gnome-shell-extension-common')
source=('git+http://git.gnome.org/browse/gnome-shell-extensions#branch=gnome-3-8')
sha256sums=('SKIP')

pkgver() {
  cd "${srcdir}"/gnome-shell-extensions

  git describe | sed 's|\(.*-.*\)-.*|\1|;s|-|.|'
}

build() {
  cd "${srcdir}"/gnome-shell-extensions

  ./autogen.sh --prefix=/usr --disable-schemas-compile --enable-extensions=""
  make
}

package() {
  cd "${srcdir}"/gnome-shell-extensions

  make DESTDIR="${pkgdir}" install
}

# vim: ts=2 sw=2 et:

빌드할 때 오류가 발생합니다.

==> Starting pkgver()...
==> Updated version: gnome-shell-extension-common-git 3.8.3.1.real-2-1
==> ERROR: pkgver is not allowed to contain colons, hyphens or whitespace.
==> ERROR: Makepkg was unable to build gnome-shell-extension-common-git.
==> Restart building gnome-shell-extension-common-git ? [y/N]

PKGBUILD의 새로운 기능:

# Maintainer: Alucryd <alucryd at gmail dot com>
# Contributor: Sebastian Lenz <[email protected]>

pkgname=gnome-shell-extension-common-git
pkgver=3.8.3.1.real-2
pkgrel=1
pkgdesc="Common files for the GNOME Shell Extensions"
arch=('any')
url="http://live.gnome.org/GnomeShell/Extensions"
license=('GPL' 'LGPL')
depends=('gnome-shell')
makedepends=('git' 'gnome-common' 'intltool')
provides=('gnome-shell-extension-common')
conflicts=('gnome-shell-extension-git' 'gnome-shell-extension-common')
source=('git+http://git.gnome.org/browse/gnome-shell-extensions#branch=gnome-3-8')
sha256sums=('SKIP')

pkgver() {
  cd "${srcdir}"/gnome-shell-extensions

  git describe | sed 's|\(.*-.*\)-.*|\1|;s|-|.|'
}

build() {
  cd "${srcdir}"/gnome-shell-extensions

  ./autogen.sh --prefix=/usr --disable-schemas-compile --enable-extensions=""
  make
}

package() {
  cd "${srcdir}"/gnome-shell-extensions

  make DESTDIR="${pkgdir}" install
}

# vim: ts=2 sw=2 et:

하이픈을 제거하기 위해 파일을 편집하면 다시 빌드하려고 하면 다시 추가되기 때문에 아무런 차이가 없습니다.

답변1

변화

git describe | sed 's|\(.*-.*\)-.*|\1|;s|-|.|'

도착하다

git describe | sed 's|\(.*-.*\)-.*|\1|;s|-|.|g'

패키지 버전에는 처음에 하이픈이 있습니다. 빌드 중인 버전에는 두 개의 하이픈이 있습니다. (replace)를 사용하면 g하나의 일치 항목이 아닌 여러 일치 항목이 대체됩니다.ssed

관련 정보