You are not logged in.
Hello. I'm trying to write a single PKGBUILD to create the XFCE4 CVS version, but I've got a few problems. A lot of packages in XFCE4 depend on other packages in XFCE4. I'd like to install one package into $startdir/pkg and then I want to make the configure scripts of the other packages to find the app installed in $startdir/pkg and use it. However, I've no idea how to achieve this.
Can anyone give me a hand?
Some PKGBUILDs: http://members.lycos.co.uk/sweiss3
Offline
http://bbs.archlinux.org/viewtopic.php? … light=xfce
or do you think about something different?
// by the way: it's not a good idea to build more than one thing in one PKGBUILD - it only mess with things --- i would suggest to always use one PKGBUILD for one pkg/software
The impossible missions are the only ones which succeed.
Offline
Thing is, this is a CVS version. Much easier to maintain for something that is updated every other night, at least for testing purposes.
As for the URL, I know how to build XFCE4 basically, I've already coded a program to generate every PKGBUILD for a given package name, grouping them all under xfce4-cvs. But I'd like to make it into one PKGBUILD as I find it easier for me to maintain until XFCE stabilizes.
Also, it's a rather educational question, for my general knowledge. Can you tell me how to achieve this?
Some PKGBUILDs: http://members.lycos.co.uk/sweiss3
Offline
Thing is, this is a CVS version. Much easier to maintain for something that is updated every other night, at least for testing purposes.
As for the URL, I know how to build XFCE4 basically, I've already coded a program to generate every PKGBUILD for a given package name, grouping them all under xfce4-cvs. But I'd like to make it into one PKGBUILD as I find it easier for me to maintain until XFCE stabilizes.
Also, it's a rather educational question, for my general knowledge. Can you tell me how to achieve this?
technically it is possible to hack build() to use more $startdirs and then make pkgs for each, but in my eyes it is nonsense, as the principle for a PKGBUILD is to make one pkg --- what you want i think is done with "makeworld" (see docs) that runs makepkg in a directory on each PKGBUILD in a subdir
also if you would hack the build() and do invest a lot of time: the trouble that will come up is: libSOMETHING is often a dependency to SOMETHINGELSE, and therefore you cannot build them in one pkg (as the libSOMETHING must first be installed before you can compile something against it) --- if you want to save you time, make a local repository (see docs) and add xfce4-cvs to it and then when you run makeworld in this directory, it will build you the pkgs - then "gensync" and then (when the local repo is in pacman.conf), the next time you run pacman -Suy, it will ask you to update your xfce4-cvs pkgs, as in your local repo, they are updated [this as an alternative to pacman -U pkgname.pkg.tar.gz for every pkg that can be boring]
The impossible missions are the only ones which succeed.
Offline
You could always jsut write a bash script to do it all
If I have the gift of prophecy and can fathom all mysteries and all knowledge, and if I have a faith that can move mountains, but have not love, I am nothing. 1 Corinthians 13:2
Offline
also if you would hack the build() and do invest a lot of time: the trouble that will come up is: libSOMETHING is often a dependency to SOMETHINGELSE, and therefore you cannot build them in one pkg (as the libSOMETHING must first be installed before you can compile something against it
Ah, I see. That what I was wondering, if it's possible to export something to make this available after all. It's a shame it's not possible
Some PKGBUILDs: http://members.lycos.co.uk/sweiss3
Offline
dp wrote:also if you would hack the build() and do invest a lot of time: the trouble that will come up is: libSOMETHING is often a dependency to SOMETHINGELSE, and therefore you cannot build them in one pkg (as the libSOMETHING must first be installed before you can compile something against it
Ah, I see. That what I was wondering, if it's possible to export something to make this available after all. It's a shame it's not possible
Yeah, I tried making XFCE-CVS one package, but it won't compile right. it would be REALLY dirty (adding weird things to /etc/ld.so.conf temporarily, a lot of ldconfigs.. weird stuff). So I just made all the deps seperate packages, and then xfce-other will all the other stuff.
If I have the gift of prophecy and can fathom all mysteries and all knowledge, and if I have a faith that can move mountains, but have not love, I am nothing. 1 Corinthians 13:2
Offline
Yeah, I tried making XFCE-CVS one package, but it won't compile right. it would be REALLY dirty (adding weird things to /etc/ld.so.conf temporarily, a lot of ldconfigs.. weird stuff).
Try to have a look at CRUX port:
http://crux.fh-regensburg.de/portdb/?co … le=Pkgfile
Still not convinced?
Offline
punkrockguy318 wrote:Yeah, I tried making XFCE-CVS one package, but it won't compile right. it would be REALLY dirty (adding weird things to /etc/ld.so.conf temporarily, a lot of ldconfigs.. weird stuff).
Try to have a look at CRUX port:
http://crux.fh-regensburg.de/portdb/?co … le=Pkgfile
Still not convinced?
Kids these days... you tell them what to do, but they just don't listen!
I have discovered that all of mans unhappiness derives from only one source, not being able to sit quietly in a room
- Blaise Pascal
Offline
punkrockguy318 wrote:Yeah, I tried making XFCE-CVS one package, but it won't compile right. it would be REALLY dirty (adding weird things to /etc/ld.so.conf temporarily, a lot of ldconfigs.. weird stuff).
Try to have a look at CRUX port:
http://crux.fh-regensburg.de/portdb/?co … le=Pkgfile
Still not convinced?
Such things remind me I should invest a lot more into studying bash scripting
Some PKGBUILDs: http://members.lycos.co.uk/sweiss3
Offline
I've built a package for xfce4-cvs. The PKGBUILD is available at http://aurelien.foret.free.fr/archlinux … .xfce4-cvs, and the package:
ftp://ftp.archlinux.org/incoming/xfce4- … pkg.tar.gz
To keep things simple, there is no xfce4-cvs.sh profile file delivered. As a consequence, to use the package, one should provision his own .profile with something like:
PATH=/opt/xfce4-cvs/bin:$PATH
MANPATH=/opt/xfce4-cvs/man:$MANPATH
PKG_CONFIG_PATH=/opt/xfce4-cvs/lib/pkgconfig:$PKG_CONFIG_PATH
XFCE4HOME=$HOME/.xfce4-cvs
export PATH MANPATH PKG_CONFIG_PATH XFCE4HOME
Notes:
- I've excluded xffm from the package since it is currenty being reworked.
- by looking at the code, I've found that XFCE4HOME env param allows to choose the user settings directory. As a consequence, the above profile settings will allow to have both xfce4 4.0.5 and xfce4-cvs coexist without any clash. If you want to switch back to Xfce 4.0.5, simply outcomment these settings.
Offline
Your PKGBUILD is very similiar to the draft I wrote for the all in one xfce4, but I didn't export PKGCONFIG path, and it wasn't working... I need more bash training. Good job mate.
If I have the gift of prophecy and can fathom all mysteries and all knowledge, and if I have a faith that can move mountains, but have not love, I am nothing. 1 Corinthians 13:2
Offline
I'm very jealous... One stupid export command kept me from all the fame and glory :evil:
If I have the gift of prophecy and can fathom all mysteries and all knowledge, and if I have a faith that can move mountains, but have not love, I am nothing. 1 Corinthians 13:2
Offline
Your PKGBUILD is very similiar to the draft I wrote for the all in one xfce4
I'm very jealous... One stupid export command kept me from all the fame and glory
I've mainly taken it from CRUX Pkgfile, but indeed, you are the one who started the discussion about packages for Xfce4 CVS and who started to put things together.
So, credits should go to you
Anyway, there's still work to be done: xffm should be integrated and a "clean" way to switch back and forth between 4.0.5 and CVS should be found. /etc/ld.config.so is also not updated...
Eventually, I might consider adding it to the unstable tree, with possibly weekly updates.
Offline
punkrockguy318 wrote:Your PKGBUILD is very similiar to the draft I wrote for the all in one xfce4
I'm very jealous... One stupid export command kept me from all the fame and glory
I've mainly taken it from CRUX Pkgfile, but indeed, you are the one who started the discussion about packages for Xfce4 CVS and who started to put things together.
So, credits should go to youAnyway, there's still work to be done: xffm should be integrated and a "clean" way to switch back and forth between 4.0.5 and CVS should be found. /etc/ld.config.so is also not updated...
Eventually, I might consider adding it to the unstable tree, with possibly weekly updates.
I thought I had to update ldconfig, because I wasn't exporting my PKGCONFIG, only setting it.
If I have the gift of prophecy and can fathom all mysteries and all knowledge, and if I have a faith that can move mountains, but have not love, I am nothing. 1 Corinthians 13:2
Offline
I've built a package for xfce4-cvs...
I haven't tried your package, but I installed the packages myself instead. I have a question though about your build in case I use it some time in the future.
* NOTE: My current CVS version of XFCE4 is from today, 06-20-04.
While building xffm, the current version was xffm-4.1.3, and the following error will occur:
main.c:54:2: #error "This version (4.1.3) is unstable and will only compile with --enable-debug=yes. Previous version 4.1.1 is very stable and available at http://www.xfce.org/~edscott/tarballs"
So, I used the 4.1.1 version from the URL provided, and all works fine.
I'm just curious, which version of xffm did you use? and if you used 4.1.3, did you use the "--enable-debug" switch?
Offline
- I've excluded xffm from the package since it is currenty being reworked.
I'm waiting for the xffm CVS module to build properly before integrating it to the package...
Offline
I have some questions regarding your PKGBUILD, orelien, if I may.
I know very little BASH scripting but I was wondering if you could please explain the following lines from your PKGBUILD:
CFLAGS="-I$startdir/pkg/opt/xfce4-cvs/include/xfce4
-L$startdir/pkg/opt/xfce4-cvs/lib
$CFLAGS"
...
sed -i "s|(/opt/xfce4-cvs/lib/libxfce4util.la)|$startdir/pkg1|"
$startdir/pkg/opt/xfce4-cvs/lib/*.la
If you could please explain what do these lines do, I'll be very greatful.
Some PKGBUILDs: http://members.lycos.co.uk/sweiss3
Offline
xfce4 modules are depending on each others. As a consequence, to be able to build xfwm4, you need to have some libs already installed (libxce4util and libxfcegui4 for instance).
The xfce4-cvs package builds and install one by one all modules under $startdir/pkg/opt/xfce4-cvs, whereas the prefix parameter says there are supposed to be located directly under /opt/xfce4-cvs.
As a consequence, during the build process, you have to find a way to tell that libraries are located under $startdir/pkg/opt/xfce4-cvs instead of /opt/xfce4-cvs.
CFLAGS allows to specify the path for headers and libraries.
Moreover, xfce4 makes use of shared library which searching path is defined in *.la files.
The sed commands allows to tweak the searching path by replacing occurrences of /opt/xfce4-cvs/lib/libxfce4util by $startdir/pkg/opt/xfce4-cvs/lib/libxfce4util in *.la files.
There's also another sed command at the end of the PKGBUILD file:
sed -i "s|$startdir/pkg||g" $startdir/pkg/opt/xfce4-cvs/lib/*.la
It allows to revert the previous modifications (i.e to remove occurrences of $startdir/pkg in searching path of *.la files).
HIH
Offline
punkrockguy318 wrote:Your PKGBUILD is very similiar to the draft I wrote for the all in one xfce4
I'm very jealous... One stupid export command kept me from all the fame and glory
I've mainly taken it from CRUX Pkgfile, but indeed, you are the one who started the discussion about packages for Xfce4 CVS and who started to put things together.
So, credits should go to youAnyway, there's still work to be done: xffm should be integrated and a "clean" way to switch back and forth between 4.0.5 and CVS should be found. /etc/ld.config.so is also not updated...
Eventually, I might consider adding it to the unstable tree, with possibly weekly updates.
I would be very excited if these things happened. The only thing keeping me from trying the xfce4-cvs package is the lack of xffm. I am very excited for the release of 4.2. Good job on what you've done so far though! Keep up the good work...
.: lytez :.
Offline
I've built a package for xfce4-cvs. The PKGBUILD is available at http://aurelien.foret.free.fr/archlinux … .xfce4-cvs
I got an error:
make[1]: Leaving directory `/mnt/homehda/var/abs/local/xfce4-cvs/src/xfce4/xfce-utils'
./PKGBUILD: line 57: cd: xfce4-modules: No such file or directory
./PKGBUILD: line 58: ./configure: No such file or directory
make: *** No targets specified and no makefile found. Stop.
==> ERROR: Build Failed. Aborting...
Markku
Offline
seems like xfce4-modules and xfce4-icons are deprecated. maybe youll be more successfull if you try to remove those lines from the PKGBUILD (you can also add xfce4-sessions - look at the cvs tree for updates...)
gluck
Offline