Puppizard 008

Under development: PCMCIA, wireless, etc.
Message
Author
User avatar
Iguleder
Posts: 2026
Joined: Tue 11 Aug 2009, 09:36
Location: Israel, somewhere in the beautiful desert
Contact:

#41 Post by Iguleder »

That happens for a good reason, the Aterm build script ovverides rxvt/urxvt for compatibility.

Once you remove Aterm, you have no terminal emulator.
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]

noryb009
Posts: 634
Joined: Sat 20 Mar 2010, 22:28

#42 Post by noryb009 »

Looking a little better!

A few things you might want to add:

- check if the files are already downloaded
- have some way to list the scripts from the command line
--- maybe be able to search?
- When using the GUI, it doesn't start downloading/compiling until after you close the message box. Can you start them at the same time?
- A way to update packages from a central repository

How do we submit scripts? Just post them here?

User avatar
Iguleder
Posts: 2026
Joined: Tue 11 Aug 2009, 09:36
Location: Israel, somewhere in the beautiful desert
Contact:

#43 Post by Iguleder »

Yep! They're yours. You can even post them at the PETs thread if that's acceptable.

Regarding the bugs - I'll do a bug-hunting round this weekend. Thanks for reporting!
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]

noryb009
Posts: 634
Joined: Sat 20 Mar 2010, 22:28

#44 Post by noryb009 »

Just a question, how are you going to do (large) dependencies?

User avatar
Iguleder
Posts: 2026
Joined: Tue 11 Aug 2009, 09:36
Location: Israel, somewhere in the beautiful desert
Contact:

#45 Post by Iguleder »

No dependency handling at all. The base assumption is that this tool is supposed to be simple enough to make it clear enough for users that package X depends or Y, or simple have only packages that don't have extra dependencies.
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]

User avatar
edoc
Posts: 4729
Joined: Sun 07 Aug 2005, 20:16
Location: Southeast Georgia, USA
Contact:

#46 Post by edoc »

Aitch referred me here because I was looking for a way to update Claws-mail in Fluppy 013.

What an amazing piece of coding!

Has anyone tested Claws-mail with Puppizard?

Will the new version overwrite all of the config files and archived E-mails or leave them intact?
[b]Thanks! David[/b]
[i]Home page: [/i][url]http://nevils-station.com[/url]
[i]Don't google[/i] [b]Search![/b] [url]http://duckduckgo.com[/url]
TahrPup64 & Lighthouse64-b602 & JL64-603

User avatar
Iguleder
Posts: 2026
Joined: Tue 11 Aug 2009, 09:36
Location: Israel, somewhere in the beautiful desert
Contact:

#47 Post by Iguleder »

It should be very easy to write a build script, as you see. I made it very simple to write new build scripts.

Once I'm done with the Puppizard port of the kernel build script, I'll do more :)

EDIT: here's a beta ... loks simple, doesn't it? Just imagine - this could be the way the 5.3 kernel is built. 99% fail-safe and upgradeable!

Code: Select all

#!/bin/sh

PKG_NAME="linux"
PKG_VER="2.6.39.2"
PKG_REV="1"
PKG_DESC="Kernel and drivers"
. /usr/share/pkg/default

# the Aufs version to use
AUFS_VER="2.1"

# the BFS version to use
BFS_VER=406

# the kernel major version (e.g 2.6.32 for 2.6.32.42)
PKG_MAJOR_VER="$(echo $PKG_VER | cut -f 1-3 -d .)"

# the kernel branch (e.g 32 for 2.6.32.42)
PKG_BRANCH="$(echo $PKG_VER | cut -f 3 -d .)"

download() {
	# download the sources and all patches
	for file in http://www.il.kernel.org/pub/linux/kernel/v2.6/$PKG_NAME-$PKG_VER.tar.bz2 \
	            http://ck.kolivas.org/patches/bfs/$PKG_MAJOR_VER/$PKG_MAJOR_VER-sched-bfs-$BFS_VER.patch \
				http://iguleder.info/puppy/kernel/DOTconfig-$PKG_MAJOR_VER-$PKG_ARCH.xz
	do
		wget $file
		[ $? -ne 0 ] && return 1
	done
	
	# download Aufs
	git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git aufs-$AUFS_VER-$PKG_BRANCH
	[ $? -ne 0 ] && return 1	
	cd aufs-$AUFS_VER-$PKG_BRANCH
	git checkout origin/aufs$AUFS_VER-$PKG_BRANCH
	[ $? -ne 0 ] && return 1	
	cd ..
	tar -c aufs-$AUFS_VER-$PKG_BRANCH | xz -9 > aufs-$AUFS_VER-$PKG_BRANCH.tar.xz
	[ $? -ne 0 ] && return 1
	rm -rf aufs-$AUFS_VER-$PKG_BRANCH

	return 0
}

build() {
	# extract the sources
	tar -xjvf $PKG_NAME-$PKG_VER.tar.bz2
	[ $? -ne 0 ] && return 1
	
	tar -xJvf aufs-$AUFS_VER-$PKG_BRANCH.tar.xz
	[ $? -ne 0 ] && return 1
	
	# decompress the configuration file
	unxz DOTconfig-$PKG_MAJOR_VER-$PKG_ARCH.xz
	[ $? -ne 0 ] && return 1
	
	# create the Aufs patch that enables Squashfs file systems to be used as
	# branches
	echo 'diff -rupN aufs2.1-32-git100511-orig//fs/aufs/loop.c aufs2.1-32-git100511/fs/aufs/loop.c
--- aufs2.1-32-git100511-orig//fs/aufs/loop.c	2011-05-11 11:27:21.922000014 +0200
+++ aufs2.1-32-git100511/fs/aufs/loop.c	2011-05-11 11:28:00.310000011 +0200
@@ -28,6 +28,9 @@
  */
 int au_test_loopback_overlap(struct super_block *sb, struct dentry *h_adding)
 {
+	/* allow Squashfs file systems to be used as Aufs branches */
+	return 0;
+	
 	struct super_block *h_sb;
 	struct loop_device *l;' > aufs-allow-sfs.patch
 	[ $? -ne 0 ] && return 1
 	 	
	# patch Aufs
	patch -d aufs-$AUFS_VER-$PKG_BRANCH -p1 < aufs-allow-sfs.patch
	[ $? -ne 0 ] && return 1
	
	cd $PKG_NAME-$PKG_VER
	
	# apply the BFS patch
	patch -p1 < ../$PKG_MAJOR_VER-sched-bfs-$BFS_VER.patch
	[ $? -ne 0 ] && return 1
		
	# clean the sources
	make clean
	[ $? -ne 0 ] && return 1
	make mrproper
	[ $? -ne 0 ] && return 1
	
	# apply the Aufs patches
	for patch in kbuild base standalone
	do
		patch -p1 < ../aufs-$AUFS_VER-$PKG_BRANCH/aufs2-$patch.patch
		[ $? -ne 0 ] && return 1
	done
	
	# add Aufs itself
	for directory in fs Documentation
	do
		cp -r ../aufs-$AUFS_VER-$PKG_BRANCH/$directory .
	done
	
	# clean up patch clutter
	find . -name '*.orig' -delete
	find . -name '*.rej' -delete
	find . -name '*~' -delete

	# reset the kernel version to the major version
	sed -i s/'^EXTRAVERSION = .*$'/'EXTRAVERSION = '/ Makefile
	[ $? -ne 0 ] && return 1

	# lower the number of consoles from 8 to 5
	sed -i s/'#define MAX_CMDLINECONSOLES 8'/'#define MAX_CMDLINECONSOLES 5'/ kernel/printk.c
	[ $? -ne 0 ] && return 1
	
	# reduce the kernel verbosity
	sed -i s/'#define DEFAULT_CONSOLE_LOGLEVEL 7 \/\* anything MORE serious than KERN_DEBUG \*\/'/'#define DEFAULT_CONSOLE_LOGLEVEL 3 \/\* anything MORE serious than KERN_ERR \*\/'/ kernel/printk.c
	[ $? -ne 0 ] && return 1
	
	# add the kernel configuration file
	cp ../DOTconfig-$PKG_MAJOR_VER-$PKG_ARCH .config

	# build the package
	make -j $BUILD_THREADS bzImage modules
	[ $? -ne 0 ] && return 1

	# install the headers and delete unneeded files
	make INSTALL_HDR_PATH=headers/usr headers_install
	[ $? -ne 0 ] && return 1
	find headers/usr/include \( -name .install -o -name ..install.cmd \) -delete
	
	return 0
}

package() {	
	# install the modules
	make INSTALL_MOD_PATH=$INSTALL_DIR modules_install
	[ $? -ne 0 ] && return 1
	
	# fix symlinks to the kernel sources
	for symlink in build source
	do
		rm -f $INSTALL_DIR/lib/modules/$PKG_MAJOR_VER/$symlink
		ln -s /usr/src/linux $INSTALL_DIR/lib/modules/$PKG_MAJOR_VER/$symlink
	done
	
	# add the kernel image and System.map
	mkdir $INSTALL_DIR/boot
	
	# locate the kernel image
	kernel_image="$(find arch -name bzImage -type f)"
	[ -z "$kernel_image" ] && return 1

	install -m644 -D $kernel_image $INSTALL_DIR/boot/vmlinuz
	[ $? -ne 0 ] && return 1
	install -m644 -D System.map $INSTALL_DIR/boot
	[ $? -ne 0 ] && return 1

	# add the kernel API headers
	mv headers/usr $INSTALL_DIR
	
	# clean the kernel sources
	make clean
	cd ..

	# add the kernel sources
	mkdir -p $INSTALL_DIR/usr/src
	cp -r $PKG_NAME-$PKG_VER $INSTALL_DIR/usr/src/linux
	
	return 0}
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#48 Post by technosaurus »

I did something similar for generic packages called Pcompile

http://www.murga-linux.com/puppy/viewtopic.php?t=41758

it uses gtkdialog, but some of the utilities may be useful?
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
Iguleder
Posts: 2026
Joined: Tue 11 Aug 2009, 09:36
Location: Israel, somewhere in the beautiful desert
Contact:

#49 Post by Iguleder »

Uploaded a new, much improved version. The GUI is the same as in 004, but buildpkg is much more complete and powerful now.

I also made build scripts for many applications, they should be very useful.
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]

User avatar
edoc
Posts: 4729
Joined: Sun 07 Aug 2005, 20:16
Location: Southeast Georgia, USA
Contact:

#50 Post by edoc »

Suggestion:

In addition to the link to your Blog, could you consider a link to Page 1 of this thread in your Sig?

<http://www.murga-linux.com/puppy/viewtopic.php?t=69248>

It would be nice to be able to right-click on it and open as a new Tab or Window - especially as the thread grows longer ....

Thanks again for sharing this tool!
[b]Thanks! David[/b]
[i]Home page: [/i][url]http://nevils-station.com[/url]
[i]Don't google[/i] [b]Search![/b] [url]http://duckduckgo.com[/url]
TahrPup64 & Lighthouse64-b602 & JL64-603

big_bass
Posts: 1740
Joined: Mon 13 Aug 2007, 12:21

#51 Post by big_bass »

Iguleder

I like the idea of source packages
but I also am old school in maintaining package standards that have been established
by the founders of linux


I have conversion tools to convert all pet packages into correctly formatted slackware packages
you had just addeded xz pet packages to possible pet packages to choose from

*TXZ pup was built using all xz compressed packages but maintaining slackwares official package standard

the reason I am posting is scottman had some trouble installing an xz commpressed pet that you made due to the package management incompatability between
puppy versions

could you provide a link to one of your xz compressed pets
I will add that to my pet2slack tool so all pets will be able to be converted to a standard slackware package format for the linux community


thanks and good luck on your project it looks interesting


Joe

User avatar
edoc
Posts: 4729
Joined: Sun 07 Aug 2005, 20:16
Location: Southeast Georgia, USA
Contact:

#52 Post by edoc »

big_bass

Do I understand correctly that your goal is to be able to convert everything made available to various other PET-friendly Puppy versions to your Slackware-based Puppy?

Kinda of like a distro-surfing WOOF which picks from various repos and converts apps to Puppy - but in is case it surfs the repos of various Puppies?

Or am I missing the intended goal, please?

We have Fluppy 013 on 4 laptops and two Netbooks but I am running dpup 009 on this laptop - for lack of time to back up and port to Fluppy. I was looking at Puppizard as a way for a user to add or update apps (e.g. Claws, Midori, etc) without requiring the intervention of devs.

WDYT?
[b]Thanks! David[/b]
[i]Home page: [/i][url]http://nevils-station.com[/url]
[i]Don't google[/i] [b]Search![/b] [url]http://duckduckgo.com[/url]
TahrPup64 & Lighthouse64-b602 & JL64-603

big_bass
Posts: 1740
Joined: Mon 13 Aug 2007, 12:21

#53 Post by big_bass »

Do I understand correctly that your goal is to be able to convert everything made available to various other PET-friendly Puppy versions to your Slackware-based Puppy?
edoc

the goal here is a package that is known and understood by the largest possible group of linux users one is a slackware package the other is a debian package

I didnt invent these formats they are linux standards

I am taking action to convert pets to the official slackware format

*maybe someone else will convert pets to the debian package format


Or am I missing the intended goal, please?
the goal is others outside the puppy community could try some of our packages
and other package making building installing tools will accept the packages

so that all work done advances the linux community in general

Joe

User avatar
edoc
Posts: 4729
Joined: Sun 07 Aug 2005, 20:16
Location: Southeast Georgia, USA
Contact:

#54 Post by edoc »

Excellent!

So everything within Puppy is translated to a Puppy-Slackware repository.

Then each of the Puppies may tap that repo, via Puppizard (or another app).

Based on your work anything in Slackware could be added to your repo - and again, Puppizard (or another app) could bring that out to a specific Puppy.

So, there would be three common repositories for Puppy?

1. Everything in the Puppy-Slackware repo.

2. Everything converted for any Puppy sub-distro.

3. Hints, tips, and tricks. (Properly labeled for version, dependencies, and hardware.)

This would not preclude a specific Puppy sub-distro from maintaining a copy of the contents of #2 in a separate area, e.g. Puppeee PetStore, t would just make it a high priority that any local updates be copied to the central repository.

Do I have that all correct, please?
Last edited by edoc on Sat 23 Jul 2011, 15:12, edited 1 time in total.
[b]Thanks! David[/b]
[i]Home page: [/i][url]http://nevils-station.com[/url]
[i]Don't google[/i] [b]Search![/b] [url]http://duckduckgo.com[/url]
TahrPup64 & Lighthouse64-b602 & JL64-603

User avatar
Iguleder
Posts: 2026
Joined: Tue 11 Aug 2009, 09:36
Location: Israel, somewhere in the beautiful desert
Contact:

#55 Post by Iguleder »

I just found out the Libreoffice build script was great, except one thing - the Libreoffice menu entries are weird and the categories are not recognized properly.

I must note that Libreoffice 4.3.1 is very very very snappy here: it's a N450 netbook running 5.2.5 with 2.6.32.42 (x86_64), with E17 and Opera. I think it could be nice to have a puplet with the combination of these. :)

EDIT: forgot to mention - the build script doesn't compile Libreoffice, since that would take ages and lots of build dependencies, so it re-packages the RPM release.
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]

User avatar
L18L
Posts: 3479
Joined: Sat 19 Jun 2010, 18:56
Location: www.eussenheim.de/

Re: Puppizard 005

#56 Post by L18L »

Iguleder wrote: - Improvements to the E17 build scripts
- Desktop integration with ROX-Filer, etc'

Why It's Cool

Here's how to build the whole E17, a-la-Puppizard:

Code: Select all

#!/bin/sh

CORE_PKGS="eina eet evas ecore embryo edje efreet e_dbus eeze e"
EXTRA_PKGS="alarm calendar cpu diskio efm_nav efm_pathbar engage execwatch mem net tclock uptime winselector wlan"
for package in $CORE_PKGS $EXTRA_PKGS
do
    buildpkg --install $package
    [ $? -ne 0 ] && break
done
Don't say it's complicated :)
I like the idea of compiling from a port system and I am hoping the following output of the code above will help you to fix a bug if there is any. If not maybe drake01 is the culprit :)

Code: Select all

make[4]: Entering directory `/tmp/tmp.ZGqQm25352/evas-HEAD/src/lib/canvas'
  CC     evas_callbacks.lo
In file included from /usr/include/freetype2/freetype/freetype.h:34:0,
                 from ../../../src/lib/include/evas_common.h:208,
                 from evas_callbacks.c:1:
/usr/include/freetype2/freetype/config/ftconfig.h:2:32: fatal error: multiarch-dispatch.h: No such file or directory
compilation terminated.
make[4]: *** [evas_callbacks.lo] Error 1
make[4]: Leaving directory `/tmp/tmp.ZGqQm25352/evas-HEAD/src/lib/canvas'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/tmp/tmp.ZGqQm25352/evas-HEAD/src/lib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/tmp.ZGqQm25352/evas-HEAD/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/tmp.ZGqQm25352/evas-HEAD'
make: *** [all] Error 2
#
Cheers

User avatar
edoc
Posts: 4729
Joined: Sun 07 Aug 2005, 20:16
Location: Southeast Georgia, USA
Contact:

#57 Post by edoc »

Iguleder wrote:I just found out the Libreoffice build script was great, except one thing - the Libreoffice menu entries are weird and the categories are not recognized properly.

I must note that Libreoffice 4.3.1 is very very very snappy here: it's a N450 netbook running 5.2.5 with 2.6.32.42 (x86_64), with E17 and Opera. I think it could be nice to have a puplet with the combination of these. :)

EDIT: forgot to mention - the build script doesn't compile Libreoffice, since that would take ages and lots of build dependencies, so it re-packages the RPM release.
Thanks for adding Puppizard to your sig!

I'm a little confused by your description of LibreOffice, which I have been hoping to get for Fluppy 013 - it has some oddities in Puppy but is generally functional?
[b]Thanks! David[/b]
[i]Home page: [/i][url]http://nevils-station.com[/url]
[i]Don't google[/i] [b]Search![/b] [url]http://duckduckgo.com[/url]
TahrPup64 & Lighthouse64-b602 & JL64-603

User avatar
Iguleder
Posts: 2026
Joined: Tue 11 Aug 2009, 09:36
Location: Israel, somewhere in the beautiful desert
Contact:

#58 Post by Iguleder »

Drake is the problem - I guess its freetype version is too old, too new or configured differently than the way it is on the distros E17 is developed and tested on.

It builds just fine on all Lucid versions and I want to test it with dpup too.

And edoc - the build script re-packages the binary distribution of Libreoffice. It downloads the official RPMs and creates a "lite" Libreoffice with just Writer, Calc and Impress: a SFS made from the package is about 110 MB if I remember right.

Yesterday I fixed the script and made it release quality. I guess I'll do more testing and upload it on this weekend.

The script fixes the menu categories and that's the only tweak it does, since Libreoffice works great on Puppy when installed from the official packages.
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]

User avatar
edoc
Posts: 4729
Joined: Sun 07 Aug 2005, 20:16
Location: Southeast Georgia, USA
Contact:

#59 Post by edoc »

Any news ... ?
[b]Thanks! David[/b]
[i]Home page: [/i][url]http://nevils-station.com[/url]
[i]Don't google[/i] [b]Search![/b] [url]http://duckduckgo.com[/url]
TahrPup64 & Lighthouse64-b602 & JL64-603

User avatar
Iguleder
Posts: 2026
Joined: Tue 11 Aug 2009, 09:36
Location: Israel, somewhere in the beautiful desert
Contact:

#60 Post by Iguleder »

Yep! There are many new build scripts, for pretty much the whole Puppy desktop.

I built everything on the new dpup I'm working on and these packages seem to be very good.

Here's a full list of what we've got so far:
advancecomp.sh grun.sh parcellite.sh
aterm.sh homebank.sh rox-filer.sh
aumix.sh jwm.sh sylpheed.sh
bluez.sh leafpad.sh TiMidity++.sh
dash.sh liberation-fonts-ttf.sh transmission.sh
deadbeef.sh libreoffice.sh ubuntu-font-family.sh
dejavu-fonts-ttf.sh LinLibertineTTF.sh uget.sh
dhcpcd.sh Linux-PAM.sh viewnior.sh
flash.sh lua.sh volumeicon.sh
font-bh-ttf.sh lxappearance.sh xarchiver.sh
fpc.sh lxtask.sh xchat.sh
freefont-ttf.sh mhwaveedit.sh xdg-user-dirs.sh
freepats.sh mtpaint.sh xdg-utils.sh
galculator.sh openttd.sh xmahjongg.sh
geany.sh opera.sh xsane.sh
ghasher.sh optipng.sh yad.sh
google-chrome.sh osmo.sh zathura.sh
EDIT: uploaded puppizard-scripts-006.pet. Heaps of new build scripts :D
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]

Post Reply