You are not logged in.
I'm trying to package something which has a build script that requires access to the user's home directory. This is not my choice, the upstream script is coded that way.
Since makepkg works in a fakeroot environment, build fails with something like:
Specified destination directory cannot be created: /root/some/thing/Any ideas how to resolve this?
It is better to keep your mouth shut and be thought a fool than to open it and remove all doubt. (Mark Twain)
Offline
Quick and dirty: Creating /root in $pkgdir before compiling/installing. You can remove it after the make install or better copy the contents of the created folder over to /usr/share/$pkgname and create a .install-skript that informs the user to copy over the needed configuration files in his home.
Something like this:
mkdir $pkgdir/root
make || return 1
make install || return 1
mkdir -p $pkgdir/usr/share/$pkdir
mv $pkgdir/root/.whatever/ $pkgdir/usr/share/$pkgdir/
rm -R $pkgdir/root/But I don't know whether this is the best solution.
Last edited by jurkan (2010-04-03 12:03:41)
Offline
I'm trying to package something which has a build script that requires access to the user's home directory. This is not my choice, the upstream script is coded that way.
Since makepkg works in a fakeroot environment, build fails with something like:
Specified destination directory cannot be created: /root/some/thing/Any ideas how to resolve this?
Could you give us the url to the script so that we can find a workaround ? ![]()
Offline
@jurkan: As a last resort, that could be used but I'd really prefer a cleaner alternative. Thanks anyway ![]()
@flamelab: Well, of course ![]()
Deps: libvorbis vorbis-tools mercurial lame maven
http://code.google.com/p/quake2-gwt-por … AndRunning
Also note that if I follow those directions myself (i.e. not with makepkg) it works perfectly fine.
Last edited by dcc24 (2010-04-03 12:08:51)
It is better to keep your mouth shut and be thought a fool than to open it and remove all doubt. (Mark Twain)
Offline
I see. You can translate the scripts' code into PKGBUILD's bash code in the build() function, instead of running them directly.
For example, "build-dedicated-server" --> instead of running (for example) --> cd $srcdir/quake2-gwt-port/ && ./build-dedicated-server
do
cd $srcdir/quake2-gwt-port/maven-build
./mvn clean install(the code and paths should be different, I just give an example).
Offline
Unfortunately that doesn't work. The error seems to be in some deeper place. If only people knew better not to hardcode paths into their scripts.
It is better to keep your mouth shut and be thought a fool than to open it and remove all doubt. (Mark Twain)
Offline