| Author |
Message |
L18L
Joined: 19 Jun 2010 Posts: 1717 Location: Burghaslach, Germany
|
Posted: Sat 25 Jun 2011, 09:07 Post subject:
puppy ports 003 Subject description: i386 vs. i686 |
|
Thank you,
it will take some time on my 1.5GHz, now I will logout.
Edited 2011-07-05
There are some marginal differences in size.
# pwd
/mnt/+initrd+mnt+dev_save+wary511q+warysave.3fs/root/test686/686/usr/bin
# ls -l
total 464
-rwxr-xr-x 1 root root 108724 2011-06-26 15:44 advdef
-rwxr-xr-x 1 root root 129536 2011-06-26 15:44 advmng
-rwxr-xr-x 1 root root 96448 2011-06-26 15:44 advpng
-rwxr-xr-x 1 root root 118248 2011-06-26 15:44 advzip
#
# pwd
/mnt/+initrd+mnt+dev_save+wary511q+warysave.3fs/root/test686/386/usr/bin
# ls -l
total 464
-rwxr-xr-x 1 root root 108724 2011-06-26 15:32 advdef
-rwxr-xr-x 1 root root 129472 2011-06-26 15:32 advmng
-rwxr-xr-x 1 root root 96448 2011-06-26 15:32 advpng
-rwxr-xr-x 1 root root 118052 2011-06-26 15:32 advzip
#
i386 is making smaller files
Last edited by L18L on Tue 05 Jul 2011, 13:59; edited 3 times in total
|
|
Back to top
|
|
 |
L18L
Joined: 19 Jun 2010 Posts: 1717 Location: Burghaslach, Germany
|
Posted: Sun 26 Jun 2011, 17:08 Post subject:
Puppy Ports 003 Subject description: GUI |
|
| jpeps wrote: | | Iguleder wrote: | It doesn't get stuck - Homebank has heaps of PNG files and optimizing them takes ages.
|
Yeah, it did. I went out to do an errand, and came back a few hours later and the original "building homebank" (or something to that effect) was still there. I closed it out, and tried running the CLI, and the installation GUI appeared. |
My observation is:
pur-gui started from command line makes a messages at top of screen.
I went out too, came back and waited and waited ....
The process started after hovering the messages. It was very fast then.
This could be called get stuck
I would call it unexpected behavior.
|
|
Back to top
|
|
 |
SimpleWater
Joined: 19 Apr 2011 Posts: 95
|
Posted: Mon 27 Jun 2011, 04:53 Post subject:
|
|
Not to be a downer or anything, but does this method not provide more work? Would it not be easier if you could do something like "pur build http://website.org/source.tgz"? Or what about a script that makes a build script?
|
|
Back to top
|
|
 |
Iguleder

Joined: 11 Aug 2009 Posts: 1614 Location: Israel, somewhere in the beautiful desert
|
Posted: Wed 29 Jun 2011, 15:41 Post subject:
|
|
No, of course not... how can you make the computer able to understand what a sources tarball contains? How is the script supposed to determine the package in the tarball and how to build it?
And what if it needs some patching or special care to be built correctly?
And if you want a script that generates build scripts - build a robot that resembles the human brain and spirit perfectly. Then program the AI
_________________ Shahor, my Puppy concept
|
|
Back to top
|
|
 |
Iguleder

Joined: 11 Aug 2009 Posts: 1614 Location: Israel, somewhere in the beautiful desert
|
Posted: Thu 30 Jun 2011, 16:25 Post subject:
|
|
Just to let you know, guys - I'm working on an improved version of the whole thing. This one is safer and smarter in many areas.
I also wrote an Opera build script, which makes a package from the official Opera installer - quite useful for keeping the system clean.
Here's what the new aterm build script looks like:
| Code: | #!/bin/sh
PKG_NAME="aterm"
PKG_VER="1.0.1"
PKG_REV="1"
. /usr/share/pkg/default
download() {
# download the sources
for file in ftp://ftp.afterstep.org/apps/$PKG_NAME/$PKG_NAME-$PKG_VER.tar.bz2 http://www.afterstep.org/data/php/desktop/icons/rxvt.png
do
wget $file
[ $? -ne 0 ] && return 1
done
return 0
}
build() {
# extract the sources
tar -xvf $PKG_NAME-$PKG_VER.tar.bz2
[ $? -ne 0 ] && exit 1
cd $PKG_NAME-$PKG_VER
# configure the package
CFLAGS="$CFLAGS" ./configure $BASE_CONFIGURE_ARGS --prefix=/usr \
--disable-utmp --disable-wtmp \
--disable-kanji --disable-big5 \
--disable-greek --disable-thai \
--disable-ttygid --enable-xgetdefault \
--disable-memset --disable-dmalloc \
--disable-dlmalloc --disable-gdb \
--disable-sigsegv --enable-transparency \
--without-libefence --disable-fading \
--disable-background-image \
--disable-next-scroll --enable-xterm-scroll \
--disable-menubar --disable-graphics \
--disable-half-shadow
[ $? -ne 0 ] && return 1
# build the package
make -j $BUILD_THREADS
[ $? -ne 0 ] && return 1
return 0
}
package() {
# install the package
make DESTDIR=$INSTALL_DIR install
[ $? -ne 0 ] && return 1
cd ..
# create symlinks for compatibility with existing stuff that rely on rxvt
ln -s aterm $INSTALL_DIR/usr/bin/rxvt
ln -s aterm $INSTALL_DIR/usr/bin/urxvt
ln -s aterm $INSTALL_DIR/usr/bin/xterm
# create a menu entry
mkdir -p $INSTALL_DIR/usr/share/applications
echo '[Desktop Entry]
Encoding=UTF-8
Name=Aterm
GenericName=Terminal emulator
Comment=command line shell
Exec=aterm
Icon=aterm
Type=Application
Categories=Utility;TerminalEmulator;' > $INSTALL_DIR/usr/share/applications/aterm.desktop
# add the icon
mkdir -p $INSTALL_DIR/usr/share/pixmaps
mv rxvt.png $INSTALL_DIR/usr/share/pixmaps/aterm.png
return 0
} |
There's a wrapper called "buildpkg" which runs the build scripts in a dedicated directory and takes care of all error handling. It also takes care of the package creation, so this code appears only once. Makes life easier.
Tomorrow I guess I'm gonna rewrite many of the build scripts in the new format and build another E17. I did a rebuild today and I see E17 improves with every revision
_________________ Shahor, my Puppy concept
|
|
Back to top
|
|
 |
noryb009
Joined: 20 Mar 2010 Posts: 511
|
Posted: Thu 30 Jun 2011, 21:51 Post subject:
|
|
Great start, Iguleder!
I found a bug: Open the GUI, and immediately click and hold the scrollbar. Once it's done loading all the scripts, let go. The packages added to the list while you had the scroll bar held would have $something as the version
I only tested it on the first opening, on lupu 520.
A few suggestions:
- with the GUI, open a terminal window with minimal output (downloading, building, etc.)
- have an "Update scripts" command - much easier then making a new version
- warn about approximate size of download/space used after install
- option to install, make a pet, or both (or at least run tgz2pet on the .tgz file)
It's looking good, keep it up!
|
|
Back to top
|
|
 |
Iguleder

Joined: 11 Aug 2009 Posts: 1614 Location: Israel, somewhere in the beautiful desert
|
Posted: Fri 01 Jul 2011, 01:48 Post subject:
|
|
I rewrote the whole backend, now I also want to write a script called "installpkg" and form a mini-package manager, for two reasons:
- PPM ruins packages by modifying .desktop files, it makes menus ugly on DEs and full-blown WMs, especially E17
- I want to utilize XZ compression instead of the traditional gzip
Regarding package update, the algorithm needed to update a package is simple:
| Quote: | build the new package
remove the old package
install the new package |
I want to rebuild the GUI and make it run the build script through a terminal window, to make things easier.
And regarding the needed space - there's nothing I can do, since you can't estimate the binary package size.[/quote]
_________________ Shahor, my Puppy concept
|
|
Back to top
|
|
 |
jpeps
Joined: 31 May 2008 Posts: 2421
|
Posted: Fri 01 Jul 2011, 11:34 Post subject:
|
|
I think it's a great idea to have a central depository of build scripts for the community.
|
|
Back to top
|
|
 |
Iguleder

Joined: 11 Aug 2009 Posts: 1614 Location: Israel, somewhere in the beautiful desert
|
Posted: Sat 02 Jul 2011, 01:50 Post subject:
|
|
Good news, "installpkg" and "removepkg" are implemented. Still not heavily tested, but I've managed to install and remove aterm successfully.
Now it's time to rewrite the GUI and add more build scripts
EDIT: the new GUI is here; see the changes
| Description |
|
| Filesize |
43.83 KB |
| Viewed |
820 Time(s) |

|
_________________ Shahor, my Puppy concept
|
|
Back to top
|
|
 |
L18L
Joined: 19 Jun 2010 Posts: 1717 Location: Burghaslach, Germany
|
Posted: Tue 05 Jul 2011, 12:44 Post subject:
Puppizard 004 |
|
| Iguleder wrote: | | Good news, "installpkg" and "removepkg" are implemented. Still not heavily tested, but I've managed to install and remove aterm successfully. |
my test building opera:
# pwd
/root/operabuild
# installpkg opera
Usage: installpkg [PACKAGE]
# installpkg opera-11.50-1074-1-i386.pxz
tar: Record size = 16 blocks
usr/
usr/share/
usr/share/opera/
{ cut off }
usr/bin/
usr/bin/opera-widget-manager
usr/bin/opera
# opera &
[1] 24911
#
aterm
removing aterm made console unusable. (I had to remove the links)
|
|
Back to top
|
|
 |
Iguleder

Joined: 11 Aug 2009 Posts: 1614 Location: Israel, somewhere in the beautiful desert
|
Posted: Tue 05 Jul 2011, 13:29 Post subject:
|
|
That happens for a good reason, the Aterm build script ovverides rxvt/urxvt for compatibility.
Once you remove Aterm, you have no terminal emulator.
_________________ Shahor, my Puppy concept
|
|
Back to top
|
|
 |
noryb009
Joined: 20 Mar 2010 Posts: 511
|
Posted: Wed 06 Jul 2011, 08:54 Post subject:
|
|
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?
|
|
Back to top
|
|
 |
Iguleder

Joined: 11 Aug 2009 Posts: 1614 Location: Israel, somewhere in the beautiful desert
|
Posted: Thu 07 Jul 2011, 14:25 Post subject:
|
|
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!
_________________ Shahor, my Puppy concept
|
|
Back to top
|
|
 |
noryb009
Joined: 20 Mar 2010 Posts: 511
|
Posted: Thu 07 Jul 2011, 14:44 Post subject:
|
|
Just a question, how are you going to do (large) dependencies?
|
|
Back to top
|
|
 |
Iguleder

Joined: 11 Aug 2009 Posts: 1614 Location: Israel, somewhere in the beautiful desert
|
Posted: Thu 07 Jul 2011, 14:59 Post subject:
|
|
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.
_________________ Shahor, my Puppy concept
|
|
Back to top
|
|
 |
|