Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Tue 02 Sep 2014, 17:44
All times are UTC - 4
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Unsorted
Compiler GUI and other packaging tools
Moderators: deshlab, Flash, GuestToo, Ian, JohnMurga, Lobster
Post new topic   Reply to topic View previous topic :: View next topic
Page 10 of 12 [172 Posts]   Goto page: Previous 1, 2, 3, ..., 8, 9, 10, 11, 12 Next
Author Message
Gedrean


Joined: 05 Jun 2009
Posts: 138

PostPosted: Thu 22 Oct 2009, 03:38    Post subject:  

amigo wrote:
The --backup function does exactly as you describe -any file about to be overwritten is copied over to the backup area and is then available to be written back. This is a really cool feature and is fully usable with src2pkg using the '-SAFE' option -it guarantees that your system will be the same as before -even before packing is finished.


That's spectacular, and even so it's functionality is gonna get integrated into dir2pet -- where's the backup area that sentry uses?

Quote:
As far as not making pets directly, I did post a patch here which makes src2pkg do that -except I didn't quite have all the details correct with the md5sums, I think. A small alteration with the 'correct' method as used for tgz2pet should fix it. Barring that, simply creating a normal tgz/tbz/txz package with src2pkg and then running tgz2pet would still be much simpler than running the several commands you are currently using.


But will it create the pet.specs entry, the .desktop entry, and the database entry?

Quote:
Another thing you might find useful is that src2pkg uses a patched version of tar which works directly with pets -it 'knows' that they are tgz's so you don't have to do all the renaming and re-renaming. Also, the tar version used by src2pkg (very old tar-1.13) is used purposely because of some special behaviours which are not available in later versions -having to do with the way it preserves perms/properties of links, dirs and files. This is why slackware and src2pkg still use it.


Nice.

Quote:
One of my collaborators has gotten src2pkg creating *.deb packages (which was in my plans all along -as well as rpm's), so I may roll the pet-creation code back in along with the other varieties. As mentioned already, the real 'problem' with building pets is that they break so many of the 'rules' of what constitutes a 'sane' package, so some of src2pkg's best investigations and corrections would have to be overridden to allow for pet creation.


But that's why PETs are so FUN! LOL.

Seriously though, if it creates FULLY compliant pets (including pet.specs and .desktop and database entry) then it'd be great. I still will continue to develop pcompile some, admittedly it's not quite as nice as your tool, but we've put this work into it already and I'd like to at least see it released to a version that does the functions we've already worked out for it.

Chances are I may throw my vote in for using src2pkg as a default builder in future Puppy versions, because it does sound nice. But this /is/ the discussion thread for pcompile.

I really do appreciate the input you've given, and sentry is perhaps the best thing I've seen yet - as it's something I was hoping for - to the point of spending an hour on google - to do. I appreciate that you've created an awesome tool, and believe me, if it can create a good tgz or even an uncompressed directory (as we can just dir2pet once ready, to create our petspecs) it'll probably be what I end up using once 0.2.0 is completed in pcompile (because I don't know enough about coding and all that to go through detecting the other formats, and because it's really just going to remain a simple tool I think for fast builds).

But this isn't the thread for proselytizing ($5 word). Appreciate all the help: yes. Constant advertisements for src2pkg: not so much.

Anyhow, rounding out this post, repeat my earlier question:

Where's sentry's "backup area" located?
Back to top
View user's profile Send private message 
amigo

Joined: 02 Apr 2007
Posts: 2240

PostPosted: Thu 22 Oct 2009, 07:17    Post subject:  

You can set the backup area on the command line -either with senntry or with installwatch(I mean the later versions). In src2pkg I do it all through the environmental variables setting them directly. You'll find that using the backup function gets pretty complicated as you have to parse file lists to write the files back. src2pkg creates a tarball of backed-up files so they can be saved for reference if wanted.

I've taken the time today to patch the last release of src2pkg with the pet-creation functionality. If you'll both shoot me an e-mail to:
amigo AT ibiblio.org, I'll send you a copy of it. I worked over the problem with the md5sum 'business' so it should be working as expected.

Sorry for the proselytizing, but I have long been convinced that src2pkg would be *the* ideal tool for creating puppy packages -even if that meant dropping the pet format and using slackware-type packages. There really is no other tool which comes even close to src2pkg's capabilities. big_bass uses it for everything -its' one of the reasons that he has been able to completely rebuild a puppy into individual packages. Since Puppy has so many enthusiastic packagers -many of them novices, it would pay to use src2pkg because it makes basic packaging really easy, ensuring sane packages every time. And yet, it is flexible enough to allow for the creation of any sort of 'one-off' or compley packages. src2pkg has over 10,000 lines of code which have been carefully crafted over 5+ years, so it would take you a long time to create something so capable and easy to use.

The package I have created for you is based on the last release of src2pkg, so it lacks a few fixes from the latest development version. But I wanted to quickly give you something to start with so you could point out any problems. You'll, no doubt, want me to incorporate some interactive code for on-the-fly the creation of pet.specs and the database file. There is code in there already, but rather crude still.

src2pkg also includes a drag-n-drop AppDir for use with rox -saves a lot of typing of filenames. Just drop a tarball on it and get a package -what could be easier. If you like src2pkg, then maybe I get a GUI for it as a side benefit...
Back to top
View user's profile Send private message 
technosaurus


Joined: 18 May 2008
Posts: 4348

PostPosted: Thu 22 Oct 2009, 13:20    Post subject:  

Amigo - Can the latest src2pkg use the txz slackpackages yet? I made a patch to pet get that uses txz packages and pxt (similar to pet - just txz with a md5sum)

I am also adding pxt support to Pcompile btw but pet will be the default for now.

_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send private message 
Gedrean


Joined: 05 Jun 2009
Posts: 138

PostPosted: Thu 22 Oct 2009, 14:30    Post subject:  

amigo wrote:
You can set the backup area on the command line -either with senntry or with installwatch(I mean the later versions). In src2pkg I do it all through the environmental variables setting them directly. You'll find that using the backup function gets pretty complicated as you have to parse file lists to write the files back. src2pkg creates a tarball of backed-up files so they can be saved for reference if wanted.


Okay. I tried going through the code of the sentry version you linked us to earlier, and I couldn't find any way that the command line function sets the backup area.

Quote:
I've taken the time today to patch the last release of src2pkg with the pet-creation functionality. If you'll both shoot me an e-mail to:
amigo AT ibiblio.org, I'll send you a copy of it. I worked over the problem with the md5sum 'business' so it should be working as expected.


Done.

Quote:
Sorry for the proselytizing, but I have long been convinced that src2pkg would be *the* ideal tool....


I figured, but still. Smile

Quote:
The package I have created for you is based on the last release of src2pkg, so it lacks a few fixes from the latest development version. But I wanted to quickly give you something to start with so you could point out any problems. You'll, no doubt, want me to incorporate some interactive code for on-the-fly the creation of pet.specs and the database file. There is code in there already, but rather crude still.


No problem, definitely will play around and look at the code to figure out how to do that...

Quote:
src2pkg also includes a drag-n-drop AppDir for use with rox -saves a lot of typing of filenames. Just drop a tarball on it and get a package -what could be easier. If you like src2pkg, then maybe I get a GUI for it as a side benefit...


Wait, src2pkg doesn't have its own GUI?

I smell project...
Back to top
View user's profile Send private message 
amigo

Joined: 02 Apr 2007
Posts: 2240

PostPosted: Thu 22 Oct 2009, 15:37    Post subject:  

Yes, src2pkg can create tbz, tlz and txz packages and it could do this a year before slackware was able to handle those package types. I had already put that in for vector/zenwalk/etc users.

The backup location is set with the --root option to sentry(use --backup=yes to turn the feature on), or you can do it like this:
export INSTW_ROOTPATH=/path/to/backups
# turn the backup feature on
export INSTW_BACKUP=1
just give those two command in the terminal where you are running from, before running 'sentry make install'.
src2pkg also includes a program called 'trackinstall' which works like checkinstall, and a simple wrapper called 'tracklist' which will give the fullest, most-detailed listing of what happens when you run 'make install' -chmod, chown, mv, ln, mkdir and more are covered.

I have put zero time into a GUI for src2pkg. The command-line interface is so simple, and yet powerful -a GUI would only slow most users down. I did implemet the drag-n-drop functionality, though, and use it every day. I am ROX user, so for a long time dnd would only work with ROX-filer, but it now works with KDE/XFCE/GNOME as well.
Still, I sympathize with the desire for a GUI and will help you work it out -if you don't drive me mad in the process LOL. Most srcpkg users just use it in the simplest of fashions and it will work without problems for at least 80% of anything you throw at it. But for more complex builds, it can use build scripts which guarantee the repeatability of your builds and the scripts are arch-independent. You can use the same script to compile on other arches -even multi-lib distros. So when you have the hang of using it, you can easily copy over your build scripts to that puppy-ppc or puppy-x86_64 machine and rebuild every package with the same ease. there are example scripts included and even group-build scripts which show how to rebuild a whole tree full of many sources with a single command.

Preach, preach, preach.... Sorry, but if you try it sou'll see what I mean -big_bass thanks me big-time for src2pkg, every time I hear from him.
Back to top
View user's profile Send private message 
Gedrean


Joined: 05 Jun 2009
Posts: 138

PostPosted: Thu 22 Oct 2009, 18:00    Post subject:  

amigo wrote:
The backup location is set with the --root option to sentry(use --backup=yes to turn the feature on), or you can do it like this:
export INSTW_ROOTPATH=/path/to/backups
# turn the backup feature on
export INSTW_BACKUP=1
just give those two command in the terminal where you are running from, before running 'sentry make install'.


Awesome.

Quote:
I have put zero time into a GUI for src2pkg. The command-line interface is so simple, and yet powerful -a GUI would only slow most users down. I did implemet the drag-n-drop functionality, though, and use it every day. I am ROX user, so for a long time dnd would only work with ROX-filer, but it now works with KDE/XFCE/GNOME as well.
Still, I sympathize with the desire for a GUI and will help you work it out -if you don't drive me mad in the process LOL. Most srcpkg users just use it in the simplest of fashions and it will work without problems for at least 80% of anything you throw at it. But for more complex builds, it can use build scripts which guarantee the repeatability of your builds and the scripts are arch-independent. You can use the same script to compile on other arches -even multi-lib distros. So when you have the hang of using it, you can easily copy over your build scripts to that puppy-ppc or puppy-x86_64 machine and rebuild every package with the same ease. there are example scripts included and even group-build scripts which show how to rebuild a whole tree full of many sources with a single command.


How lovely. As far as a GUI, it would mostly be a GUI-Wrapper. PCompile itself is mostly just an argument interpreter and wrapper for src2all, which has been integrated in now, so it is actually a script, but it doesn't do all that much. Anyhow, it's just that the GUI gives a chance for the less-command-line-oriented puppy users to say "Hey I want this program. Bam. Done."

That's what we were aiming for with pcompile.

This does sound nice though.
Got your email, will be testing and playing with it soon.
Back to top
View user's profile Send private message 
Gedrean


Joined: 05 Jun 2009
Posts: 138

PostPosted: Mon 26 Oct 2009, 04:30    Post subject:  

Techno, in case you didn't get it earlier, let me know when you're done with dump2pet and dir2pet updates and cleanups so they behave nice.

I'll finish up with pcompile to 0.2.0 for making the interface and all that work nice. Hopefully the comments should make things work well.

After that I'm looking at src2pkg -- if I can EVER get it to install properly, lol. It may be a good choice for a unified option. Trying it out will give an idea.
Back to top
View user's profile Send private message 
amigo

Joined: 02 Apr 2007
Posts: 2240

PostPosted: Mon 26 Oct 2009, 12:41    Post subject:  

gedrean, I've sent you a new copy with the changes which should make src2pkg install and setup properly.
Back to top
View user's profile Send private message 
01micko


Joined: 11 Oct 2008
Posts: 7797
Location: qld

PostPosted: Thu 29 Oct 2009, 02:47    Post subject:  

Hi amigo,

I installed src2pkg yesterday in "dpup" (yes, yet another branch) and I discovered I needed 'makepkg'... which I found in none other than big_bass 'slaxer_pup', (incidentally, the ver of src2pkg in slaxer_pup was 1.9.8, now have 1.9.9) and also 'upgradepkg' (is that a 10 yr old script? Testament to Pat's coding), it also complains about something else but basically works. It seems to run through the '--setup' routine wvery time I try it though.

Maybe you need those files Gedrean?

Cheers

_________________
Woof Mailing List | keep the faith Cool |
Back to top
View user's profile Send private message Visit poster's website 
amigo

Joined: 02 Apr 2007
Posts: 2240

PostPosted: Thu 29 Oct 2009, 05:09    Post subject:  

01micko, this has been fixed so that running 'src2pkg --setup' will create and install a pet package.

email me and I'll send you a copy of the latest version -I am only distribtuing it privately right now while still developing the new *.pet and *deb support.
Back to top
View user's profile Send private message 
technosaurus


Joined: 18 May 2008
Posts: 4348

PostPosted: Thu 29 Oct 2009, 11:58    Post subject:  

Gedrean - I initially just modified dir2pet to use basic xdialogs in place of the command line sections, but felt that it was still too annoying. I am currently working on combining the dir2pet and petspecs programs into one GUI with mouseover descriptions for each field. I just haven't had a lot of time to work on it lately due to 12+ hr days recently and 3 hrs of commute time. I am close to 50% complete, but with the amount of rewrite that I am doing it will need some testing.
_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send private message 
Gedrean


Joined: 05 Jun 2009
Posts: 138

PostPosted: Thu 29 Oct 2009, 13:58    Post subject:  

technosaurus wrote:
Gedrean - I initially just modified dir2pet to use basic xdialogs in place of the command line sections, but felt that it was still too annoying. I am currently working on combining the dir2pet and petspecs programs into one GUI with mouseover descriptions for each field. I just haven't had a lot of time to work on it lately due to 12+ hr days recently and 3 hrs of commute time. I am close to 50% complete, but with the amount of rewrite that I am doing it will need some testing.


That is WICKED.

Keep in mind, too much combination could be very difficult to work with, as users that just want to create a petspecs file don't want to build to a pet just yet.
Remember also, gtkdialog has a "tooltip" option (undocumented) for most controls, so you don't need to hardcode most mouseover comments. And to be honest, you only really need it for labels and certain buttons.

Good luck and I look forward to playing with your new Brundlefly. Wink
Back to top
View user's profile Send private message 
technosaurus


Joined: 18 May 2008
Posts: 4348

PostPosted: Thu 29 Oct 2009, 18:09    Post subject:  

I am planning to put 2 checkboxes for keeping existing pet.specs file and .desktop files - if one is found it will default to true. This will prevent accidentally overwriting a desktop file with locale support with a basic one.
_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send private message 
technosaurus


Joined: 18 May 2008
Posts: 4348

PostPosted: Sat 31 Oct 2009, 02:16    Post subject:  

some progress on gui - still needs quite some cleanup, but I need some sleep right now

TODO: tooltips, find executables, fileselection for icons,split out the packaging part to enable adoptpet and adoptpxt (maybe tgz, txz others later?)
adopt.gz
Description  NOT a real version - just for review for inclusion in Pcompile... works like dir2pet
gz

 Download 
Filename  adopt.gz 
Filesize  2.71 KB 
Downloaded  585 Time(s) 

_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send private message 
Gedrean


Joined: 05 Jun 2009
Posts: 138

PostPosted: Sat 31 Oct 2009, 04:01    Post subject:  

Oh, techno, once you're ready the pcomp_script can be taken out of debug by removing the extra gtkdialog3 calls (they both call the invalid package message, around the make and make install and all those commands) - at this point I'm not really pushing a huge amount of my time into looking at this thread every day because I'm kinda at a stopping point for pcompile - unless you start finding new ideas. Adopt is a neat name though Smile

Good luck with all this. I'll keep this thread on my watchlist but I'm gonna focus on other things, so if you have a request or idea go ahead and post it here - I should be able to play with it.

As it is, I'm right now trying to figure out how src2pkg is creating its slack.desc files -- because it's pulling that data from somewhere and I don't know where... Maybe amigo will see this and answer the unasked but implied question therein.

Those details could DEFINITELY be useful for pre-filling in other files like .desktop or such.
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 10 of 12 [172 Posts]   Goto page: Previous 1, 2, 3, ..., 8, 9, 10, 11, 12 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Unsorted
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1263s ][ Queries: 13 (0.0158s) ][ GZIP on ]