WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: importsce "add-on".sces based on "base".sces  (Read 19542 times)

Offline Jason W

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 9730
Re: importsce "add-on".sces based on "base".sces
« Reply #15 on: February 26, 2014, 04:35:36 AM »
Ok, I have a rough working model in place.  Here are the basics.  Use the "importsce -d" option to  make use of an existing sce as a dependency.  More than one can be chosen, a select menu will appear when the importsce -d option is used.  Lets say your import and install xorg-all.  Then you want to install libgtk2.0-0 and use xorg-all as a dep, use the command "importsce -d libgtk2.0-0".  Choose xorg-all as a dependency sce when prompted.  The rest of the routine is as usual.

Pay attention to the /usr/local/sce/$PKGNAME directory.  Some new files are created that can be used by a tool to check for broken dependencies in the case of issues.  For now there is no tool.  But if you use a mydesktop.sce as a dependency for firefox, then you later rebuild mydesktop without ligtk2.0-0.  Firefox will no longer work since it was counting on gtk2 from mydesktop.sce.  Any sce that you feel may be broken, just re-import it and use your previous dependency sce.  In this case, a re-import of firefox will include ligtk2.0-0 in firefox.sce that previously only had the firefox package inside as it's deps were met before but now they are not..

loadsce makes use of dep files now.  Lets say that you import libgtk2.0-0 and use xorg-all as a dep.  Later, you import leafpad and only specify libgtk2.0-0 as a dep  If ligtk2.0-0 is the only entry in leafpad.sce.dep, then xorg-all.sce will also be loaded since it is in the dep file of libgtk2.0-0.  But you can also specify multiple dependency sce's, in the case having both xorg-all and libgtk2.0-0 in leafpad.sce.dep would have the same effect.

I have uploaded a testing dCore.gz to

http://tinycorelinux.net/5.x/x86/release_candidates/

I have tried it out on some packages, and I think things are polished enough for wider testing.

Offline Jason W

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 9730
Re: importsce "add-on".sces based on "base".sces
« Reply #16 on: February 26, 2014, 05:44:08 AM »
loadsce needs some more work, I will aim to tend to it tonight but the basic concept is in place.

We can test this out and see how we like it.

Offline netnomad

  • Hero Member
  • *****
  • Posts: 1026
Re: importsce "add-on".sces based on "base".sces
« Reply #17 on: February 26, 2014, 06:28:35 PM »
hi jason w,

i tried your new rc and did
import -d galculator
Choose the sce you want use as a dependency. You can choose more than one, and enter q for quit when you have completed your selection.

         1. libreoffice4.1
         2. mydesktop
         3. original-modules-3.8.13-tinycore

Enter selection ( 1 - 3 ) or (q)uit: q
mydesktop
original-modules-3.8.13-tinycore
 
cat: can't open '/tmp/tcloop/mydesktop/usr/local/sce/mydesktop/mydesktop.md5sum': No such file or directory
cat: can't open '/tmp/tcloop/original-modules-3.8.13-tinycore/usr/local/sce/original-modules-3.8.13-tinycore/original-modules-3.8.13-tinycore.md5sum': No such file or directory
Proceed to create galculator.sce? (y/N):
...
===> a dependency-file is created, but the galculator.sce has the same size as without the -d-option.

then i did another

tc@box:~$ importsce -s -f .TCE/sce/mydesktop
after the preparation of the merging i get multiple error messages like:
grep: /tmp/.scedebs: No such file or directory
...
===> and a corrupted small mydesktop.sce is merged with missing files...

thank you for your help and work for the community :)
« Last Edit: February 26, 2014, 06:32:25 PM by netnomad »

Offline Jason W

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 9730
Re: importsce "add-on".sces based on "base".sces
« Reply #18 on: February 26, 2014, 06:42:25 PM »
Mydesktop.sce will have to be imported with the new routine, as the md5sum file you mentioned as missing is only created in that manner by the new routine.  galculator is the same size because that md5 file is used to determine what packages are contained in mydesktop.sce.  If using old sce's, import is assuming nothing is installed in the old sce and therefore of no use as a dependency, galculator.sce will then be full size as before.

I will look into the issue in re-creating mydesktop file list sce's.


Offline Jason W

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 9730
Re: importsce "add-on".sces based on "base".sces
« Reply #19 on: February 26, 2014, 08:59:50 PM »
There is a simple but grievous error in debGetDeps.  I am testing that fix along with the finishing touches to loadsce and plan to post another cut  tonight.

Offline Jason W

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 9730
Re: importsce "add-on".sces based on "base".sces
« Reply #20 on: February 27, 2014, 06:30:08 AM »
Ok, I think for the most part all should be good now, I reposted in the release candidates directory.

Here is my setup.  I have a base.sce.  Then a desktop-basic that depends on base.  Then a multimedia that depends on desktop-basic, which in turn depends on base.  Then a desktop-full which depends on desktop-basic which depends on base.  No overlap. 

Below are the file lists of my working setup.  Please test and report any errors.

base:

Code: [Select]
ssh
rsync
screen
locales-all
grep
gzip
git
file
findutils
cpio
bc
bash
acpid
bzip2
zip
xz-utils
wget
tar
sed
pciutils
lzma
p7zip-full

desktop-basic:

Code: [Select]
Xprogs
icewm
xorg-all
graphics-3.8.13-tinycore
leafpad
emelfm2
xscreensaver
firefox

multimedia:

Code: [Select]
wodim
xine-ui
wine
vlc
timidity
stella
mplayer
mpg123
lame
faac
avidemux

desktop-full:

Code: [Select]
xfce4
fluxbox
acroread
epdfview
flwm_topside
galculator
geany
gimp
gthumb
gtk-gnutella
mc
mtpaint

Offline yoshi314

  • Full Member
  • ***
  • Posts: 135
Re: importsce "add-on".sces based on "base".sces
« Reply #21 on: February 27, 2014, 12:29:21 PM »
I have a problem with generation of subsequent dep sce's.

Steps:

- make xorg-all normal sce.
- make libgtk-3-0 sce as dependant on xorg-all
- make deadbeef sce as dependant on libgtk-3-0


when specifying only libgtk-3-0 only that sce is listed as dep.

when specifying both xorg-all and libgtk-3-0 i get dep listing as
libgtk-3-0
xorg-all
xorg-all

in either case an nearly empty package gets made for deadbeef with only .debs files


squashfs-root
squashfs-root/usr
squashfs-root/usr/local
squashfs-root/usr/local/sce
squashfs-root/usr/local/sce/deadbeef
squashfs-root/usr/local/sce/deadbeef/deadbeef.debdeps
squashfs-root/usr/local/sce/deadbeef/libgtk-3-0.debs
squashfs-root/usr/local/sce/deadbeef/xorg-all.debs



Perhaps i should be running on bare system installation to have them generate properly, although previous two sce's seem to have been generated correctly - i was generating this packages with one big sce loaded from previous dCore installation that already provided contents of those three packages (and more).
« Last Edit: February 27, 2014, 12:31:02 PM by yoshi314 »

Offline netnomad

  • Hero Member
  • *****
  • Posts: 1026
Re: importsce "add-on".sces based on "base".sces
« Reply #22 on: February 27, 2014, 12:34:41 PM »
hi jason w,

3 hours ago i took your last cut.
at my reboot the module original-modules-KERNEL of my sceboot.lst wasn´t found anymore.

sceboot.lst:
original-modules-KERNEL
mydesktop

thank you for your help.
« Last Edit: February 27, 2014, 12:37:45 PM by netnomad »

Offline Jason W

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 9730
Re: importsce "add-on".sces based on "base".sces
« Reply #23 on: February 27, 2014, 05:05:27 PM »
Ok, evidently that was broken in the changes, I will fix it.

Offline Jason W

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 9730
Re: importsce "add-on".sces based on "base".sces
« Reply #24 on: February 27, 2014, 05:49:14 PM »
Yoshi,
I created the same sce's on my box, and all works as expected.  xorg-all was first imported, then libgtk-3-0 was imported with xorg-all listed as a dep.  Then deadbeef was imported with libgtk-3-0 listed as a dep.  There is no need to specify xorg-all in the dep file of deadbeef since the dep files are recursive. 

Please try again with a clean boot on as basic of a system as possible, though it really should not matter as long as the sce's are created with the current dCore.gz and rebooting in case the same sce is already loaded and running.
'
There are 517 files in my deadbeef.sce, and it starts and runs as expected.

Offline yoshi314

  • Full Member
  • ***
  • Posts: 135
Re: importsce "add-on".sces based on "base".sces
« Reply #25 on: February 28, 2014, 03:41:04 AM »
It works better.  Now sce's generate correctly. Could be i needed to be on bare installation.

There is another problem i spotted.

On a bare system (that generated a few sce's but none were loaded) I ran : importsce wireless .

After seeing list of packages i pressed ctrl+c.

I attempted to importsce bzip2

This pulled all the firmware package dependencies into bzip2.sce . Re-importing bzip2 makes it generate properly, without wireless deps.

Few things that could use improvement.

- usage info for importsce
- option to just list packages that will be used into generating an sce, before confirming your choice
- maybe some integrated readme on most common things (esp extra repositories)
- some kind of simple search for debian packages
« Last Edit: February 28, 2014, 03:56:10 AM by yoshi314 »

Offline Jason W

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 9730
Re: importsce "add-on".sces based on "base".sces
« Reply #26 on: February 28, 2014, 07:37:37 AM »
I uploaded a new dCore.gz, please test it.  I put in a safety measure for when ctrl-c is pressed during import. 

Now that hopefully the bugs are down to a minimum, I will work on some of the points mentioned.


Offline netnomad

  • Hero Member
  • *****
  • Posts: 1026
Re: importsce "add-on".sces based on "base".sces
« Reply #27 on: February 28, 2014, 08:00:23 AM »
hi jason w,

original-modules-KERNEL boots fine now.

but the reimport of my old mydesktop.sce results in multiple line of
....
grep: /tmp/.scedebs: No such file or directory
...
before the start of the merging process.

thank you for your help.

Offline yoshi314

  • Full Member
  • ***
  • Posts: 135
Re: importsce "add-on".sces based on "base".sces
« Reply #28 on: February 28, 2014, 09:38:32 AM »
Btw is there a way to list those core provided packages or comfortably search them ? There are some core provided packages or metapackages and i am not sure how to find them if i don't know their names. It seems that core packages are used when debian has no packages under the same name.


Also, wifi package has no dependencies. It fails to work due to lack of wireless-tools, even if wireless interfaces are available. Providing wireless-tools makes it work.


One more suggetion that could help less advanced users - simple script to make extension out of directory. I have a b43 driven wireless card and it requires obtaining firmware on my own, with b43-fwcutter. It's not provided in any sce.

Problem is that the easy way of putting it into mydata.tgz makes it available after the b43 driver loads. Unload+load of the driver crashes the kernel (requires more modules to be unloaded/loaded afaik), which makes even more of a problem for less savvy users.

I made an sce with generated firmware manually and set it to load as the first extension, before wireless modules, solving my problem. Most users might have a hard time resolving this. I suspect this situation might occur in different circumstances.
« Last Edit: February 28, 2014, 09:49:14 AM by yoshi314 »

Offline Jason W

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 9730
Re: importsce "add-on".sces based on "base".sces
« Reply #29 on: February 28, 2014, 10:53:54 AM »
Uploaded new cut.

Hopefully fixed the /tmp/.scedebs grep echo which is harmless but nevertheless needs to be quieted.

Added a --help to importsce.  Use -h or --help to access it.

Before final confirmation of making an sce, the list of packages that will be included only in that sce and not what is already in it's deps are shown.

Added wireless-tools to the deps of wifi.

As for readmes, we can always use help in documentation.  I try to get to it when I can, maybe as things settle more documentation can appear.

Added a tool "searchdeb" that will search the Packages files of the main and any extra mirror, listing possible package matches along with the mirror they will be pulled from.

I will find a way to list custom or meta packages soon.

To make an sce out of a single directory, it is simple.  If the directory is firmware it's directory from the top is firmware/lib/firmware/, do:

mksquashfs firmware myfirmware.sce.