You are not logged in.
Pages: 1
Topic closed
Apologies for the similar thread...
I know there's a lot of topics similar to this with particular files conflicting with various packages when installing, but I couldn't quite see the issue with my PKGBUILD.
PKGBUILD contents (without the vars):
package() {
# Unpack the vendor package
cd "${srcdir}"
tar -zxf data.tar.gz
cp -dpr "${srcdir}/usr" "${pkgdir}"
install -Dm0644 "${pkgdir}/usr/share/doc/vpn-unlimited/copyright" \
"${pkgdir}/usr/share/licenses/${pkgname}/copyright"
# Create a custom script that forces the older libcurl
cat > "${pkgdir}/usr/bin/vpnu" <<- EOF
#!/bin/sh
PID=$(pidof vpn-unlimited-daemon)
if [[ $EUID -ne 0 ]]; then
echo "Must be root to run VPN daemon" 1>&2
exit 1
else
if [ -z $PID]; then
vpn-unlimited-daemon &
sleep 2
fi
LD_PRELOAD=libcurl.so.3 vpn-unlimited
fi
EOF
# Change script permissions
chmod 0755 "${pkgdir}/usr/bin/vpnu"
# Alter the desktop file to launch our script instead
sed -i 's/Exec=vpn-unlimited/Exec=vpnu/g' "${pkgdir}/usr/share/applications/vpn-unlimited.desktop"
# Add our custom systemd unit
install -Dm0644 "${srcdir}/vpn-unlimited-daemon.service" "${pkgdir}/lib/systemd/system/vpn-unlimited-daemon.service"
# Save this original file
cp -p "${srcdir}/etc/init.d/vpn-unlimited-daemon" "${pkgdir}/usr/share/doc/vpn-unlimited/"
}
While building:
vpn-unlimited: /lib exists in filesystem
vpn-unlimited: /usr/sbin exists in filesystem
Errors occurred, no packages were upgraded.
I don't understand why the problem is the symbolic links at /lib and /usr/sbin. Doesn't cp -dpr follow the symlinks?
Last edited by adb (2015-01-11 22:37:32)
Offline
I had a package that I had previously installed on one machine and later reused the package on another machine and that's when I encountered /usr/sbin already exists. I rebuilt the package, and still got the same conflicting files message.
I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.
Offline
The new version of pacman changed how it handles symbolic links, you'll need to install the files where they actually are rather than using a link. See the "Directory Symlink Handling" section of Allan's blog post
Offline
The new version of pacman changed how it handles symbolic links, you'll need to install the files where they actually are rather than using a link. See the "Directory Symlink Handling" section of Allan's blog post
I have to bind mount the offending directory with its' symlink equivalent just to get the package to install? I'm still getting the /usr/sbin conflict.
Last edited by nomorewindows (2015-01-09 01:30:58)
I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.
Offline
mcmillan wrote:The new version of pacman changed how it handles symbolic links, you'll need to install the files where they actually are rather than using a link. See the "Directory Symlink Handling" section of Allan's blog post
I have to bind mount the offending directory with its' symlink equivalent just to get the package to install?
Rather, the package itself must not install to those location with symlinks. E.g., it should install to /usr/lib and not to /lib.
aur S & M :: forum rules :: Community Ethos
Resources for Women, POC, LGBT*, and allies
Offline
nomorewindows wrote:mcmillan wrote:The new version of pacman changed how it handles symbolic links, you'll need to install the files where they actually are rather than using a link. See the "Directory Symlink Handling" section of Allan's blog post
I have to bind mount the offending directory with its' symlink equivalent just to get the package to install?
Rather, the package itself must not install to those location with symlinks. E.g., it should install to /usr/lib and not to /lib.
Looks like my package doesn't need to put files in both /usr/bin and /usr/sbin.
I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.
Offline
Had to change the sbin in the actual configure file to get it to work and then remake the package.
I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.
Offline
Did as fsckd suggested and rearranged files in ${srcdir} avoiding the symlinks before moving them to ${pkgdir}. Solved.
Offline
Can someone help me changing the PKGBUILD from tm_smapi-ck?
I am getting the same error message:
(1/1) checking for file conflicts [###########################] 100%
error: failed to commit transaction (conflicting files)
tp_smapi-ck: /lib exists in filesystem
Errors occurred, no packages were upgraded.
PKGBUILD:
# Maintainer: fackamato
# Contributor: Steven Davidovitz <steviedizzle ð gmail đ com>
# Contributor: Nick B <Shirakawasuna ð gmail đ com>
# Contributor: Christof Musik <christof ð senfdax đ de>
# Contributor: Stefan Rupp <archlinux ð stefanrupp đ de>
# Contributor: Ignas Anikevicius <anikevicius ð gmail đ com>
_pkgname=tp_smapi
# make the AUR parser think the following lines are comments
# to bypass the buggy parser check
[[ "#" ]] && _kernext=${_kernext:-}
[[ "#" ]] && _kernver=${_kernver:-$(uname -r)}
[[ "#" ]] && _extramodules=$(readlink -f "/usr/lib/modules/$_kernver/extramodules" | sed 's#^/usr/lib/modules/##')
[[ "#" ]] && _kernver=$(< /usr/lib/modules/$_extramodules/version)
pkgname=$_pkgname-ck$_kernext
pkgver=0.41
pkgrel=44
pkgdesc="Modules for ThinkPad's SMAPI functionality, for -ck kernels"
[[ -n $_kernext ]] && pkgdesc+=" (for linux$_kernext)"
arch=('i686' 'x86_64')
url="http://tpctl.sourceforge.net/"
license=('GPL')
depends=("linux$_kernext-ck")
makedepends=("linux$_kernext-headers")
install=$_pkgname-ck.install
source=(https://github.com/downloads/evgeni/tp_smapi/tp_smapi-$pkgver.tar.gz)
md5sums=('63c683415c764568f6bf17c7eabe4752')
sha256sums=('6aef02b92d10360ac9be0db29ae390636be55017990063a092a285c70b54e666')
build() {
cd "$srcdir/tp_smapi-$pkgver"
sed -ri "s/^(KVER\s*:=).*$/\1$_kernver/" Makefile
make HDAPS=1
}
package() {
make -C "/lib/modules/$_kernver/build" \
INSTALL_MOD_PATH="$pkgdir" M="$srcdir/$_pkgname-$pkgver" modules_install
cd "$pkgdir/lib/modules/"
mv "$_kernver/extra" "$_extramodules"
rmdir "$_kernver"
# compress kernel modules
find "$pkgdir" -name "*.ko" -exec gzip -9 {} +
# update kernel version in install file
sed -ri "s/^(extramodules=).*$/\1$_extramodules/" "$startdir/$_pkgname-ck.install"
}
Thanks in advance!
Offline
Reported a bug from something like this a few days ago. 15 minutes since reported, someone closed it claiming it was not a bug.
Some LXQt packages have the same problem with /usr/lib64
----- Think out of the Box. ------
Archer since 2010.
My projects: http://github.com/kinokoio
Offline
PKGBUILD:
package() { make -C "/lib/modules/$_kernver/build" \ INSTALL_MOD_PATH="$pkgdir" M="$srcdir/$_pkgname-$pkgver" modules_install cd "$pkgdir/lib/modules/" mv "$_kernver/extra" "$_extramodules" rmdir "$_kernver" # compress kernel modules find "$pkgdir" -name "*.ko" -exec gzip -9 {} + # update kernel version in install file sed -ri "s/^(extramodules=).*$/\1$_extramodules/" "$startdir/$_pkgname-ck.install" }
You need to be putting things in /usr/lib, because of the change in how pacman 4.2 handles symlinks.
EDIT: Scrub that suggestion, there's probably a better way to do the move than that.
Last edited by clfarron4 (2015-01-13 23:32:52)
Claire is fine.
Problems? I have dysgraphia, so clear and concise please.
My public GPG key for package signing
My x86_64 package repository
Offline
I've not tested this, but I believe that
INSTALL_MOD_PATH="$pkgdir"
should be
INSTALL_MOD_PATH="$pkgdir/usr"
EDIT: the lines following that change would need to be updated accordingly too.
Last edited by WorMzy (2015-01-14 00:05:38)
Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD
Making lemonade from lemons since 2015.
Offline
I've not tested this, but I believe that
INSTALL_MOD_PATH="$pkgdir"
should be
INSTALL_MOD_PATH="$pkgdir/usr"
EDIT: the lines following that change would need to be updated accordingly too.
In some packages you might get away with that, and be lucky that it works. However, I went through via yaourt -G (package) and then going through the src dir and hand editing the entries in the configure script so that it goes to the right place.
I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.
Offline
You need to be putting things in /usr/lib, because of the change in how pacman 4.2 handles symlinks.
For now this seems to work with the hint that @WorMzy gave:
Change all instances of:
- $pkgdir
+ $pkgdir/usr
Thanks!
Offline
I have now updated the AUR tp_smapi-ck package in accordance with the required changes. Frightfully sorry about the delay.
ArchLinux | x86_64 | linux-ck-ivybridge
ThinkPad X230 | 12.5" | i5-3320M (2.5GHz) | HD 4000 | 16GB (1600MHz) | 256GB mSATA SSD | 2TB HDD
ThinkPad T430 | 14.1" | i7-3520M (2.9GHz) | GF108M (NVS 5400M) | 16GB (1600MHz) | 256GB mSATA SSD | 1TB HDD | 500GB HDD
Offline
I am not sure if this thread is still valid, but I have created an AUR package for VPN Unlimited.
Offline
Do not necrobump old threads, especially solved ones, and even more especially not to just spam the same message you are posting all over the forums which is essentially cross posting.
Closed.
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Pages: 1
Topic closed