저는 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
하나의 일치 항목이 아닌 여러 일치 항목이 대체됩니다.s
sed