src2pkg-2.7 - create packages from any source code

Miscellaneous tools
Message
Author
amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#21 Post by amigo »

I'll try to have a look in the next couple of days to see about getting QUERY_FOR_PKG_DESC results in the specs file. It would be great if someone put together an extension which would run an interactive routine just before creating the specs file -actually a few scraps of BK's routine for doing this would work fine -I don't remember where that is now -somewhere in dir2pet I guess.

Anyway, I would hope that someone here would come up with a simple extension which solves the incomplete specs problem. After all Puppy is you guys' *thing*. It only makes sense to have src2pkg make the most of what you have to work with.

You want magic? You have to see what src2pkg does when creating *.tpkg packages -lots of juicy package meta-data. Even dependencies for shell scripts get listed -actually they gets listed as 'suggests' since they are not hard dependencies. Here's an example from the free-standing utility for listing them:

Code: Select all

 bash-3.1$ tpkg-script-reqs /usr/bin/wmaker.inst
coreutils
sed
Want to see the list of commands themselves instead of the packages they are part of?

Code: Select all

bash-3.1$ tpkg-script-reqs-raw /usr/bin/wmaker.inst
cat
chmod
cp
mkdir
mv
rm
sed
Sometime over the next couple of days I'm gonna post some examples here of all the possible info provided by my dependency system. It's really insane... no wait, that's not the right word.

Glad you were rewarded with a nice, working package. src2pkg knows *lots* of tricks for making things compile when a plain old './configure && make && make DESTDIR=somewhere install' does not work. And that's just the first third of what it takes to make a good package.

User avatar
Tman
Posts: 808
Joined: Sat 22 Jan 2011, 21:39
Location: Toronto

#22 Post by Tman »

I installed src2pkg-2.7 according the instructions on the first post, but when I tried your example I got the following error. Please note that I am a noob compiler. I have both the devx and the kernel sources loaded. Second pic uses the -VV option. Any suggestions?
Attachments
src2pkg-error.jpg
(72.21 KiB) Downloaded 810 times
src2pkg-error2.jpg
(69.87 KiB) Downloaded 788 times

User avatar
jemimah
Posts: 4307
Joined: Wed 26 Aug 2009, 19:56
Location: Tampa, FL
Contact:

#23 Post by jemimah »

amigo wrote:I'll try to have a look in the next couple of days to see about getting QUERY_FOR_PKG_DESC results in the specs file. It would be great if someone put together an extension which would run an interactive routine just before creating the specs file -actually a few scraps of BK's routine for doing this would work fine -I don't remember where that is now -somewhere in dir2pet I guess.

Anyway, I would hope that someone here would come up with a simple extension which solves the incomplete specs problem. After all Puppy is you guys' *thing*. It only makes sense to have src2pkg make the most of what you have to work with.
This is on my todo list actually. Need a couple of weeks before I get to it though.

User avatar
sunburnt
Posts: 5090
Joined: Wed 08 Jun 2005, 23:11
Location: Arizona, U.S.A.

#24 Post by sunburnt »

I`m interested in using source Debian packages and media packages.
Debian seems to have the most complete repository and best organized.

I made a Debian downloader, one GtkDialog gui and a BaCon exec. gui also.
Making it handle dependencies was the stumbling point I couldn`t get past.
It shows package groups and the group`s package list, and the package info.

It would be nice to hook it up with src2pkg for a complete build utility.
Source to .pet, .sfs, .sq4 packages.
Attachments
DebianPackageTool_SmallSize.png
(30.89 KiB) Downloaded 773 times

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#25 Post by amigo »

Tman, thanks for reporting that. Looks like the sources need to be patched to fix that. I've been meaning to fix the docs to use another example anyway, because 'di' doesn't really show off the usage of src2pkg with the most normal sources -those that use autoconf (the normal './configure && make && make install' routine)

Please try any other example of a small program which compiles quickly and installs just a few files. You could look around the other sections of my site for any number of examples. Or, simply go ahead and build and package whatever you were thinking about building -I'm guessing that had an idea to package some specific software.

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#26 Post by amigo »

jemimah, it would be great if you write such an extension. Since you are running a puppy-derived distro every day it will be easier. You can find an example extension (for vector linux) here:
http://distro.ibiblio.org/amigolinux/do ... xtensions/

Or just create the directory ~/.src2pkg/extensions and place a file in ther named 01-16.post or 01-16.pre with anything simple like an 'echo hello from $FUNCNAME'. the run a small build with src2pkg to see that you are seeing that message.

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#27 Post by amigo »

sunburnt, I often use debian sources -particularly for the patches they might include. Actually the main 'debianize' patch is useful of itself because they contain the official debian files with a description of the package, the license, etc. By using the src2pkg '-A' option, it will read this info from those files and automatically generate a nicel-formatted description file yor your package. Afterwards, you can throw the the original debianize patch away. Before you do though, have a look and see if it contains anything useful for your package. You can even have src2pkg pick up the configure options used in the debian/rules file for your build by using the '-ACF' option. Also, you can do the same with rpm sources (usually *.src.rpm). src2pkg can do the same as above with '-A' and '-ACF' to pull useful info from the *.spec file. Very, very handy -I hate manually writing description files.

You can use the 'extensions' feature I mentioned above to do thsoe things like creating sfs's etc from the results of the package build. I'm soon gonna include an extension for just that -big_bass is itching for such a thing and worked on it some already. It really is very simple to do so that it works for every package you create. However, if you plan on building sfs's which contain content from more than one build, you will be better off using an independent script. Still there, the best thing to do is simply unpack already-created packages into the area where you want to create the sfs, then do whatever else you need to there -you should run the install script after installng each package, though, so everything gets properly created -links and stuff.

BTW, you can also use a single build to create more than one type of package. After finishing the initial build (a pet, for example), run something like this:
src2pkg (original options) --resume=fake_install -TXZ
and you should get a slackware *.txz package or whichever type you have specified: -TXZ, -PET1, -PET2, -DEB, -RPM, -TAZ or -TPKG

Read about and experiment with the 'extensions' feature and you'll save lots of work when wanting to carry out extra operations at any point during the build. It's designed especially for just the sort of thing you are thinking of.

User avatar
Tman
Posts: 808
Joined: Sat 22 Jan 2011, 21:39
Location: Toronto

#28 Post by Tman »

Thanks for replying, amigo.
I tried compiling Jwm just because it doesn't really need any dependencies or patches and src2pkg worked. Great stuff, thank you.
amigo wrote:It would be great if someone put together an extension which would run an interactive routine just before creating the specs file -actually a few scraps of BK's routine for doing this would work fine -I don't remember where that is now -somewhere in dir2pet I guess.

Anyway, I would hope that someone here would come up with a simple extension which solves the incomplete specs problem. After all Puppy is you guys' *thing*. It only makes sense to have src2pkg make the most of what you have to work with.
if you're talking about the routine in the pic below, that would be in usr/bin/petspec
Attachments
petspec.jpg
(58.69 KiB) Downloaded 762 times

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#29 Post by amigo »

Can you post the full content of the petspec file? Be sure to use the 'code' tags in the posting.

User avatar
Tman
Posts: 808
Joined: Sat 22 Jan 2011, 21:39
Location: Toronto

#30 Post by Tman »

here you go, amigo.

Code: Select all


#!/bin/sh
#optional params passed in:
#"${NAMEONLY}" "${PUPCATEGORY}" "${PUPOFFICIALDEPS}" "${PUPMENUDESCR}" "$BASEPKG" "$SIZEK" "$PUPPATH" "$ARCHDEPENDENT" "$DEFREPO"
#w476 bug fixes, to work properly with dir2pet.
#w482 set default name of repo to 'official'.
#v425 category does not necessarily have anything to do with menu.
#100201 added PUPPATH, ARCHDEPENDENT, DEFREPO, improve setting of distro name & version.
#100303 small bugfix.
#100320 prevent crash if $5 only has name, no version number.
#100508 bugfix empty field.

#old ex: "abiword-2.6.3" "abiword 2.6.3: wordprocessor" ONOFF "Document +fribidi,+gtk+,+goffice,+wv,+enchant 7556K" 
#new: pkgname|nameonly|version|pkgrelease|category|size|path|fullfilename|dependencies|description|
#ex: abiword-1.2.4|abiword|1.2.4|5|Document|999K|slackware/ab|abiword-1.2.4-5-i486.tgz|+aiksausus,+gtk2|a nice wordprocessor|
#optionally on the end: compileddistro|compiledrelease|repo| (fields 11,12,13)
#ex: slackware|12.2|official|
#this is not normally needed, as the name of the file holding the database info, for ex
#'Packages-slackware-12.2-official' identifies this extra information.

. /etc/DISTRO_SPECS
. /root/.packages/DISTRO_PKGS_SPECS
. /root/.packages/DISTRO_PET_REPOS

mkdir -p /var/local/petspec #100201

DEF_nameonly="abiword"
DEF_version="1.2.3-1"
DEF_category="BuildingBlock"
DEF_size_val="UNKNOWN"
#DEF_path="pet_packages-4"
DEF_fullfilename="abiword-1.2.3-1.pet"
DEF_dependencies="+aiksaurus,+gtk2"
DEF_description="A powerful wordprocessor"
DEF_compileddistro="$DISTRO_BINARY_COMPAT"
DEF_compiledrelease="$DISTRO_COMPAT_VERSION"
#DEF_repo="official"
DEF_kernel="`uname -r`"
DEF_pkgname="${DEF_nameonly}-${DEF_version}"


if [ $5 ];then
 DEF_nameonly="$1"
 [ "$2" != "EMPTY" ] && DEF_category="$2"
 [ "$3" != "EMPTY" ] && DEF_dependencies="$3"
 [ "$3" = "EMPTY" ] && DEF_dependencies=""
 [ "$4" != "EMPTY" ] && DEF_description="$4"
 [ "$4" = "EMPTY" ] && DEF_description="no description provided"
 DEF_pkgname="$5"
 xPATTERN="s%${DEF_nameonly}%%"
 DEF_version="`echo -n "$DEF_pkgname" | sed -e "$xPATTERN" -e 's%^\\-%%'`"
 [ "$DEF_version" = "" ] && DEF_version="UNKNOWN" #100320
 [ $5 ] && DEF_size_val="$6"
 DEF_fullfilename="${5}.pet"
fi

#100201 subdirectory of package on repo...
DEF_path=""
[ ! $7 ] && [ -f /var/local/petspec/DEF_path ] && DEF_path="`cat /var/local/petspec/DEF_path`"
[ $7 ] && [ "$7" != "EMPTY" ] && DEF_path="${7}"

#100201 determine if pkg is only scripts...
ARCHDEPENDENT='yes'
[ $8 ] && ARCHDEPENDENT="${8}"
if [ "$ARCHDEPENDENT" != "yes" -a "$ARCHDEPENDENT" != "no" ];then
 DEF_compileddistro="`echo -n "$ARCHDEPENDENT" | cut -f 1 -d '|'`"
 DEF_compiledrelease="`echo -n "$ARCHDEPENDENT" | cut -f 2 -d '|'`"
fi
if [ "$ARCHDEPENDENT" = "no" ];then
 DEF_compileddistro="DISTRO INDEPENDENT"
 DEF_compiledrelease="DISTRO INDEPENDENT"
fi
[ "$DEF_compiledrelease" = "" ] && DEF_compiledrelease="$DISTRO_COMPAT_VERSION" #100508

#100201 id of repository...
DEF_repo=""
[ ! $9 ] && [ -f /var/local/petspec/DEF_repo ] && DEF_repo="`cat /var/local/petspec/DEF_repo`"
[ $9 ] && [ "$9" != "EMPTY" ] && DEF_repo="${9}"

#sort category items...
ITEMSCAT="<item>${DEF_category}</item>"
for ONECAT in 'NO CATEGORY' Desktop System Setup Utility Filesystem Graphic Document Calculate Personal Network Internet Multimedia Fun Help BuildingBlock Develop
do
 [ "$ONECAT" = "$DEF_category" ] && continue
 ITEMSCAT="${ITEMSCAT}<item>${ONECAT}</item>"
done

#sort compileddistro items...
ITEMSCOMP="<item>${DEF_compileddistro}</item>"
for ONECHOICE in 'DISTRO INDEPENDENT' arch debian puppy slackware t2 ubuntu
do
 [ "$ONECHOICE" = "${DEF_compileddistro}" ] && continue
 ITEMSCOMP="${ITEMSCOMP}<item>${ONECHOICE}</item>"
done

DEPENDENCIES=""
if [ "$DEF_dependencies" != "" ];then
 DEPENDENCIES="<default>${DEF_dependencies}</default>"
fi

export MAIN_DIALOG="
<window title=\"Package database-entry creator\" icon-name=\"gtk-index\">
 <vbox>
 
  <text use-markup=\"true\"><label>\"<b>The fields marked with '*' are required, the rest fill in as much as possible or if uncertain leave blank.</b>\"</label></text>
  
  <hbox>
   <text><label>\"    \"</label></text><text><label>*Name-only:</label></text>
   <entry>
    <default>${DEF_nameonly}</default><variable>DB_nameonly</variable>
   </entry>
  </hbox>
  <hbox>
   <text><label>\"                  \"</label></text><text><label>*Version:</label></text>
   <entry>
    <default>${DEF_version}</default><variable>DB_version</variable>
   </entry>
  </hbox>

  <hbox>
    <text>
      <label>*Category:</label>
    </text>
	<combobox>
      <variable>DB_category</variable>
	  ${ITEMSCAT}
    </combobox>
  </hbox>
  <hbox>
   <text><label>\"                  \"</label></text><text><label>Size of installed package:</label></text>
   <entry>
    <default>${DEF_size_val}</default><variable>DB_size_val</variable>
   </entry>
   <text><label>KB</label></text>
  </hbox>

  <hbox>
   <text><label>Folder path within repository:</label></text>
   <entry>
    <default>\"${DEF_path}\"</default><variable>DB_path</variable>
   </entry>
  </hbox>
  <hbox>
   <text><label>*Full package name:</label></text>
   <entry>
    <default>${DEF_fullfilename}</default><variable>DB_fullfilename</variable>
   </entry>
  </hbox>
  <hbox>
   <text><label>Dependencies:</label></text>
   <entry>
    ${DEPENDENCIES}<variable>DB_dependencies</variable>
   </entry>
  </hbox>
  <hbox>
   <text><label>Description:</label></text>
   <entry>
    <default>${DEF_description}</default><variable>DB_description</variable>
   </entry>
  </hbox>

  <frame Extra optional>
  <hbox>
    <text>
      <label>Compiled in compatible-distro:</label>
    </text>
	<combobox>
      <variable>DB_compileddistro</variable>
	  ${ITEMSCOMP}
    </combobox>
  </hbox>
  <hbox>
   <text><label>\"    \"</label></text><text><label>Compatible-distro version:</label></text>
   <entry>
    <default>${DEF_compiledrelease}</default><variable>DB_compiledrelease</variable>
   </entry>
  </hbox>
  <hbox>
   <text><label>\"    \"</label></text><text><label>Single unique name of repository:</label></text>
   <entry>
    <default>\"${DEF_repo}\"</default><variable>DB_repo</variable>
   </entry>
  </hbox>
  </frame>

   <hbox>
    <button>
     <label>Help</label>
     <action>defaulthtmlviewer http://puppylinux.com/woof/pkg-db-format.htm & </action>
    </button>
    <button>
     <label>Generate package database entry</label>
     <action type=\"exit\">GENERATE_DB</action>
    </button>
    <button cancel></button>
   </hbox>
 </vbox>
</window>
"

RETVALS="`gtkdialog3 --program=MAIN_DIALOG`"
#ex:
#DB_category="BuildingBlock"
#DB_compileddistro="ubuntu"
#DB_compiledrelease="jaunty"
#DB_dependencies="+aiksaurus,+gtk2"
#DB_description="A powerful wordprocessor"
#DB_fullfilename="abiword-1.2.3-1.pet"
#DB_path="pet_packages-5"
#DB_pkgname="abiword"
#DB_repo="5"
#DB_size_val="UNKNOWN"
#DB_version="1.2.3-1"
#EXIT="GENERATE_DB"

eval "$RETVALS"

[ "$EXIT" != "GENERATE_DB" ] && exit 1

echo -n "$DB_path" > /var/local/petspec/DEF_path #100201
echo -n "$DB_repo" > /var/local/petspec/DEF_repo #100201

DB_size="$DB_size_val"'K'
[ "$DB_size_val" = "UNKNOWN" ] && DB_size=""
[ "$DB_category" = "NO CATEGORY" ] && DB_category=""
[ "$DB_compileddistro" = "DISTRO INDEPENDENT" ] && DB_compileddistro=""
[ "$DB_compiledrelease" = "DISTRO INDEPENDENT" ] && DB_compiledrelease="" #100303
DB_version="`echo -n "$DB_version" | sed -e 's% %%g'`" #100320 precaution, get rid of any spaces.
if [ "$DB_version" = "" -o "$DB_version" = "UNKNOWN" ];then #100320
 DB_pkgname="$DB_nameonly"
 DB_version=""
else
 DB_pkgname="${DB_nameonly}-${DB_version}"
fi

DB_ENTRY="${DB_pkgname}|${DB_nameonly}|${DB_version}|${DB_pkgrelease}|${DB_category}|${DB_size}|${DB_path}|${DB_fullfilename}|${DB_dependencies}|${DB_description}|${DB_compileddistro}|${DB_compiledrelease}|${DB_repo}|"
echo
echo "$DB_ENTRY"
echo "This is the package database entry:

$DB_ENTRY" > /tmp/petspec_db_entry

nohup defaulttextviewer /tmp/petspec_db_entry 2>/dev/null &

exit 0

###END###

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#31 Post by amigo »

Yes, thank you. I'll see about morphing that into a puppy-specific extension for src2pkg and then everyone can be happy with more complete *.specs files.

User avatar
Keef
Posts: 987
Joined: Thu 20 Dec 2007, 22:12
Location: Staffordshire

#32 Post by Keef »

I've just tried to install the pet on Akita (beta 7), but it fails when trying to compile libsentry. Tried running make on libsentry (in the src2pkg-helpers dir), and got the following result:

Code: Select all

# make
cc -Wall -U_FORTIFY_SOURCE -D_GNU_SOURCE -DLIBDIR=\"/usr/local/lib\" -DPIC -fPIC -D_REENTRANT -DVERSION=\"0.7.0\" -c libsentry.c
libsentry.c:3090: error: conflicting types for 'scandir'
/usr/include/dirent.h:254: error: previous declaration of 'scandir' was here
libsentry.c:3743: error: conflicting types for 'scandir64'
/usr/include/dirent.h:275: error: previous declaration of 'scandir64' was here
make: *** [libsentry.o] Error 1

It has worked ok for me on Fire Hydrant Lite 301 RetroV3, and SolidPup (Wary 511).

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#33 Post by amigo »

Ay, Ay, Ay, that old problem -it's a glibc thing, where it is declared differently in different versions.
What version of gcc do you have ( output from running: gcc -dumpversion)?
What version of glibc do you have (output from running: /lib/libc.so.6)?

User avatar
Keef
Posts: 987
Joined: Thu 20 Dec 2007, 22:12
Location: Staffordshire

#34 Post by Keef »

Amigo,

Here are the gory details:

gcc version is 4.2.2

Code: Select all

# /lib/libc.so.6
GNU C Library stable release version 2.10.1, by Roland McGrath et al.
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.3.4.
Compiled on a Linux >>2.6.32.16<< system on 2010-09-13.
Available extensions:
        crypt add-on version 2.1 by Michael Glad and others
        Native POSIX Threads Library by Ulrich Drepper et al
        Support for some architectures added on, not maintained in glibc core.
        BIND-8.2.3-T5B
EDIT I've had a PM from scottman about this, with a possible solution. Will update when I've tried it.

User avatar
Tman
Posts: 808
Joined: Sat 22 Jan 2011, 21:39
Location: Toronto

#35 Post by Tman »

Hi Amigo,

When src2pkg creates a pet from a source on my hard-drive, the pet contains the proper tree structure to files and folders but it contains a secondary tree where all of the files are duplicated inside of a folder named initrd. I was wondering if there is a way to avoid this?
Last edited by Tman on Tue 28 Feb 2012, 17:07, edited 1 time in total.

User avatar
Tman
Posts: 808
Joined: Sat 22 Jan 2011, 21:39
Location: Toronto

#36 Post by Tman »

removed double post

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#37 Post by amigo »

Keef, Notice this:
gcc version is 4.2.2
and this?:
Compiled by GNU CC version 4.3.4
May be part of the problem. There is a small patch that is used in the libsentry sources which needs to be removed or applied -mostly depending on the glibc version. It comes applied with the latest versions of src2pkg, but maybe I need more 'ifs' in the code somewhwere to try to get it right for everybody. Your feedback is useful. But that version mis-match you have there is not a good sign... Puppy is infamous for its' wacky, unclean toolchains...

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#38 Post by amigo »

Tman, what software are you trying to build. I have never seen a report of this problem for Puppy -it's a very good sign that at least examine the contents of a potential package.

The specific software you are building may have something to do with this, but I may have to build in a special work-around for this situation.
Please cd into the package dir where the content it and run 'find > files.txt'
The cd into your /initrd dir and do the same, then post the results.

If you are running from hard drive, why is there still an /initrd dir around anyway?

User avatar
Tman
Posts: 808
Joined: Sat 22 Jan 2011, 21:39
Location: Toronto

#39 Post by Tman »

I don't think that the reason is becuase of the sources. When I last compiled Thunar for dpup Exprimo, Thunar and all of the dependency pets contained 2 trees.

I don't know if it has anything to do with how I set up my hard-drives.
My first hard-drive has Windows XP and a secondary Linux partition which I plan to install debian onto.

The second hard-drive has a Windows7 partition, another ntfs partition for storage, and the third ext4 partition for frugal pups.

I download the sources to my /mnt/home (2nd hard-drive), which is an ext4 partition.

The reason why I download the sources first is because I extract them and run ./configure --help to see all of the options. I next type in all of the options that I want into a text file, which I later paste into LXTerminal when running src2pkg.

User avatar
Tman
Posts: 808
Joined: Sat 22 Jan 2011, 21:39
Location: Toronto

#40 Post by Tman »

amigo wrote: Please cd into the package dir where the content it and run 'find > files.txt'
I quickly recompiled jwm which I tried before, but deleted after.

Code: Select all

cd /mnt/home
src2pkg -VV jwm-2.1.0.tar.bz2
Below is the contents of the files.txt with the contents of the normal tree and the initrd tree.

Code: Select all

.
./files.txt
./jwm-2.1.0-i486-1
./jwm-2.1.0-i486-1/initrd
./jwm-2.1.0-i486-1/initrd/mnt
./jwm-2.1.0-i486-1/initrd/mnt/dev_save
./jwm-2.1.0-i486-1/initrd/mnt/dev_save/jwm-2.1.0-src-1
./jwm-2.1.0-i486-1/initrd/mnt/dev_save/jwm-2.1.0-src-1/src
./jwm-2.1.0-i486-1/initrd/mnt/dev_save/jwm-2.1.0-src-1/src/jwm
./jwm-2.1.0-i486-1/usr
./jwm-2.1.0-i486-1/usr/etc
./jwm-2.1.0-i486-1/usr/etc/system.jwmrc
./jwm-2.1.0-i486-1/usr/share
./jwm-2.1.0-i486-1/usr/share/man
./jwm-2.1.0-i486-1/usr/share/man/man1
./jwm-2.1.0-i486-1/usr/share/man/man1/jwm.1
./jwm-2.1.0-i486-1/usr/man
./jwm-2.1.0-i486-1/usr/man/man1
./jwm-2.1.0-i486-1/usr/man/man1/jwm.1.gz
./jwm-2.1.0-i486-1/usr/doc
./jwm-2.1.0-i486-1/usr/doc/jwm-2.1.0
./jwm-2.1.0-i486-1/usr/doc/jwm-2.1.0/jwm.desc
./jwm-2.1.0-i486-1/usr/doc/jwm-2.1.0/LICENSE
./jwm-2.1.0-i486-1/usr/doc/jwm-2.1.0/README
./jwm-2.1.0-i486-1/usr/bin
./jwm-2.1.0-i486-1/usr/bin/jwm
??. I guess I was wrong about the initrd tree duplicating everything. In this instance, it only contains the jwm binary.

Post Reply