Puppizard 008
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?
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?
- Iguleder
- Posts: 2026
- Joined: Tue 11 Aug 2009, 09:36
- Location: Israel, somewhere in the beautiful desert
- Contact:
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]
[url=https://github.com/dimkr]My GitHub profile[/url]
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?
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
[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
- Iguleder
- Posts: 2026
- Joined: Tue 11 Aug 2009, 09:36
- Location: Israel, somewhere in the beautiful desert
- Contact:
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!
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]
[url=https://github.com/dimkr]My GitHub profile[/url]
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
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?
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].
- Iguleder
- Posts: 2026
- Joined: Tue 11 Aug 2009, 09:36
- Location: Israel, somewhere in the beautiful desert
- Contact:
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.
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]
[url=https://github.com/dimkr]My GitHub profile[/url]
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!
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
[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
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
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
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?
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
[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
edocDo 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?
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
the goal is others outside the puppy community could try some of our packagesOr am I missing the intended goal, please?
and other package making building installing tools will accept the packages
so that all work done advances the linux community in general
Joe
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?
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
[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
- Iguleder
- Posts: 2026
- Joined: Tue 11 Aug 2009, 09:36
- Location: Israel, somewhere in the beautiful desert
- Contact:
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.
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]
[url=https://github.com/dimkr]My GitHub profile[/url]
- L18L
- Posts: 3479
- Joined: Sat 19 Jun 2010, 18:56
- Location: www.eussenheim.de/
Re: Puppizard 005
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 culpritIguleder 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:
Don't say it's complicatedCode: 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
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
#
Thanks for adding Puppizard to your sig!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.
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
[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
- Iguleder
- Posts: 2026
- Joined: Tue 11 Aug 2009, 09:36
- Location: Israel, somewhere in the beautiful desert
- Contact:
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.
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]
[url=https://github.com/dimkr]My GitHub profile[/url]
- Iguleder
- Posts: 2026
- Joined: Tue 11 Aug 2009, 09:36
- Location: Israel, somewhere in the beautiful desert
- Contact:
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:
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:
EDIT: uploaded puppizard-scripts-006.pet. Heaps of new build scriptsadvancecomp.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
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]