Pet building system

discuss compiling applications for Puppy
Message
Author
User avatar
battleshooter
Posts: 1378
Joined: Wed 14 May 2008, 05:10
Location: Australia

#76 Post by battleshooter »

XFCE petbuild files :)

Code: Select all

glib
gobject-introspection
atk
at-spi2-core
at-spi2-atk
harfbuzz
freetype
fontconfig
pango
gtk3+
libxfce4util
xfconf
startup-notification
libxfce4ui
exo
garcon
gtk-xfce-engine
libwnck
xfce4-panel
libnotify
xfce4-notifyd
Thunar
libgudev
thunar-volman
tumbler
xfce4-appfinder
xfce4-settings
xfdesktop
xfwm
xfce4-session
That's the order list if interested in compiling them straight up. Basically if you use them, they will compile and leave you in the state I find xfce after a fresh compile. I'm not sure if the tweaks needed to get xfce into the state you find it in XenialPup with XFCE (I really need to figure out a name for it) should go in a pet build, or Woof-CE code. All in all though, I'm pretty excited about this this is a big step closer in being able to have XFCE freshly compiled and ready to go with any Puplet (which seems important with swiftly moving Pup versions)

Either you can follow the order list and compile each one manually with

Code: Select all

sh <package name>.petbuild
Or you can run it automated with this second script attached I put together that utilize's Sc0ttman's handy dandy pkg.

I've got to say I absolutely love it, normally it can take me a day to compile XFCE from scratch, forgetting the tweaks I used last time, or compiling pitfalls I might forget how to get around. But with the scripts, it's all saved, remembered and automated, same product every time. Also because it's just bam bam bam, one compile after another, it's a lot faster than me waiting around for each build. All in all, took 30 minutes to compile XFCE including GTK3 unattended. So far I've only tested it on XenialPup64, and Slacko 32 bit 6.9.9.9*. Other than Phil's puplets, the script will need tweaking, probably adding a flag for 64 bit builds as I need to put in a switch so the libdir is set to /usr/lib64.

*Slacko is missing gtk2 dev files, specifically a gir file and gperf so preinstall those. Xenial should work straight off.

How to use the automated script:

1. Have devx, petbuild and Sc0ttman's pkg pet installed

2. Extract the contents of both scripts into the petbuild folder

3. Run build_all_with_install.sh in a terminal and hopefully in 30 minutes (if I've got the steps right) - you'll have a freshly baked version of xfce!

Edit: Ah crap, forgot about /root/.xinitrc, you need to comment out

Code: Select all

[ "$desktop" = "" ] && desktop=rox
and

Code: Select all

[ "$desktop" = "rox" ] && exec jwm
Otherwise the desktop doesn't show right. I've been meaning to do a rewrite of xinitrc with an actual xfce section, does anyone actually call xfwm4 directly as the window manager anymore instead of startxfce4 :shock: ?
Attachments
build_all_with_install.sh.tar.gz
Real tar.gz
(1.51 KiB) Downloaded 529 times
xfcebuilds.tar.gz
Real tar.gz
(235.72 KiB) Downloaded 544 times
[url=http://www.murga-linux.com/puppy/viewtopic.php?t=94580]LMMS 1.0.2[/url], [url=http://www.murga-linux.com/puppy/viewtopic.php?t=94593]Ardour 3.5.389[/url], [url=http://www.murga-linux.com/puppy/viewtopic.php?t=94629]Kdenlive 0.9.8[/url]

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#77 Post by 01micko »

Hi battleshooter..

Nice start! Working almost as advertised on 64 bit.

However, I see there is a lot of code duplication in your petbuilds which are taken care of in the functions.

For example, a pretty standard line in most is..

Code: Select all

./configure --prefix=/usr sysconfdir=/etc --localstatedir=/var
.. which is taken care of in the build_configure() function in ./func.

You'll notice to there is a --libdir= option to configure which is essential in slacko based pups as in 64 bit the libdir is /usr/lib64 (as opposed to /usr/lib - which configure defaults to if --prefix=/usr).

I'll leave you with those bones to pick, oh, and of course a screeny :) (has a custom icon theme I've been working on - and shows a few are missing)
Attachments
xfce.png
(191.05 KiB) Downloaded 793 times
Puppy Linux Blog - contact me for access

User avatar
battleshooter
Posts: 1378
Joined: Wed 14 May 2008, 05:10
Location: Australia

#78 Post by battleshooter »

Hah, wow, that is so cool! I know it's what it's suppose to do, but I can't help but feel chuffed someone else could reproduce it as intended :D

I see what you mean about the code reproduction, I can go through and reset them to use the provided function.

Scott mentioned the option to set the build to 64 bit in the conf but I haven't tested it yet, thanks for testing it and the feedback Micko! I know you're busier these days so appreciate you taking the time.

@anyone who knows
As as side topic, has Petbuild been incorporated into Woof-CE? I've been digging around but the only petbuilds I can find are the ones for initrd-progs
[url=http://www.murga-linux.com/puppy/viewtopic.php?t=94580]LMMS 1.0.2[/url], [url=http://www.murga-linux.com/puppy/viewtopic.php?t=94593]Ardour 3.5.389[/url], [url=http://www.murga-linux.com/puppy/viewtopic.php?t=94629]Kdenlive 0.9.8[/url]

User avatar
peebee
Posts: 4370
Joined: Sun 21 Sep 2008, 12:31
Location: Worcestershire, UK
Contact:

#79 Post by peebee »

battleshooter wrote:has Petbuild been incorporated into Woof-CE?
https://github.com/puppylinux-woof-CE/petbuilds
ImageLxPup = Puppy + LXDE
Main version used daily: LxPupSc; Assembler of UPups, ScPup & ScPup64, LxPup, LxPupSc & LxPupSc64

User avatar
battleshooter
Posts: 1378
Joined: Wed 14 May 2008, 05:10
Location: Australia

#80 Post by battleshooter »

I suppose what I'm trying to work out is how do I get Woof-CE to build a petbuild? Do I just use DISTRO_PKGS_SPECS-ubuntu-xenial:

Code: Select all

yes|xfdesktop4|xfdesktop4,xfdesktop4-data|exe,dev,doc,nls
Would that include the deb from the Ubuntu repository or would my petbuild recipe take precedence?
[url=http://www.murga-linux.com/puppy/viewtopic.php?t=94580]LMMS 1.0.2[/url], [url=http://www.murga-linux.com/puppy/viewtopic.php?t=94593]Ardour 3.5.389[/url], [url=http://www.murga-linux.com/puppy/viewtopic.php?t=94629]Kdenlive 0.9.8[/url]

User avatar
peebee
Posts: 4370
Joined: Sun 21 Sep 2008, 12:31
Location: Worcestershire, UK
Contact:

#81 Post by peebee »

battleshooter wrote:I suppose what I'm trying to work out is how do I get Woof-CE to build a petbuild? Do I just use DISTRO_PKGS_SPECS-ubuntu-xenial:

Code: Select all

yes|xfdesktop4|xfdesktop4,xfdesktop4-data|exe,dev,doc,nls
Would that include the deb from the Ubuntu repository or would my petbuild recipe take precedence?
Petbuilds are separate to woof-ce.....

Once you've built your .pet(s) you put them into local-repositories/xxx/packages-pet

and then amend DISTRO_PKGS_SPECS-ubuntu-xenial
to:
yes|xfdesktop4||exe,dev,doc,nls
then run
./2createpackages xfdesktop4
when your pet(s) will be selected for your woof-ce build
ImageLxPup = Puppy + LXDE
Main version used daily: LxPupSc; Assembler of UPups, ScPup & ScPup64, LxPup, LxPupSc & LxPupSc64

User avatar
battleshooter
Posts: 1378
Joined: Wed 14 May 2008, 05:10
Location: Australia

#82 Post by battleshooter »

Ohhhhhh

Thanks for that Peebee, that amends my understanding considerably. I was hoping it would be a lot more automated than that.

That's quite cool. I'm now another step closer.
[url=http://www.murga-linux.com/puppy/viewtopic.php?t=94580]LMMS 1.0.2[/url], [url=http://www.murga-linux.com/puppy/viewtopic.php?t=94593]Ardour 3.5.389[/url], [url=http://www.murga-linux.com/puppy/viewtopic.php?t=94629]Kdenlive 0.9.8[/url]

User avatar
peebee
Posts: 4370
Joined: Sun 21 Sep 2008, 12:31
Location: Worcestershire, UK
Contact:

#83 Post by peebee »

battleshooter wrote:Ohhhhhh

Thanks for that Peebee, that amends my understanding considerably. I was hoping it would be a lot more automated than that.

That's quite cool. I'm now another step closer.
Oh forgot to mention....

and you need to put the pet-specs line(s) into a suitable repo list before running 2createpackages.....
ImageLxPup = Puppy + LXDE
Main version used daily: LxPupSc; Assembler of UPups, ScPup & ScPup64, LxPup, LxPupSc & LxPupSc64

Post Reply