Tiny Core Linux

Tiny Core Base => Corepure64 => Topic started by: roger@languageONE.com.au on October 04, 2017, 10:35:09 PM

Title: Where is ar
Post by: roger@languageONE.com.au on October 04, 2017, 10:35:09 PM
Sorry if this has been asked before but searching on "ar" gets a whole heap of, well, just about everything

I am looking for ar (manage archives) and it is usually in binutils but cannot find it in PureCore
Is it part of any tcz ??

Thanks
Title: Re: Where is ar
Post by: Rich on October 04, 2017, 11:48:16 PM
Hi roger@languageONE.com.au
I think  eu-ar  in  elfutils.tcz  might do what you want.
Title: Re: Where is ar
Post by: Rich on October 05, 2017, 12:02:27 AM
Hi roger@languageONE.com.au
Another possibility might be  gcc-ar  in  gcc.tcz.
Title: Re: Where is ar
Post by: curaga on October 05, 2017, 03:56:12 AM
The busybox ar is included in the base?
Title: Re: Where is ar
Post by: Juanito on October 05, 2017, 04:50:07 AM
Code: [Select]
$ tce-load -i binutils
binutils.tcz: OK
$ which ar
/usr/local/bin/ar

Note that binutils ar cannot be a symlink so the startup scripts unpacks /usr/local/share/binutils/files/files.tar.gz, which contains ar, into the root file system.
Title: Re: Where is ar
Post by: Juanito on October 05, 2017, 04:58:50 AM
adjusted binutils dep file, since ar requires flex

adjusted binutils list file, since ar, nm and ranlib are contained in files.tar.gz
Title: Re: Where is ar
Post by: andyj on October 05, 2017, 06:47:55 AM
I thought we fixed this already? http://forum.tinycorelinux.net/index.php/topic,21086.0.html (http://forum.tinycorelinux.net/index.php/topic,21086.0.html) But I noticed that I don't have a dependency file for binutils. I run tce-update and binutils isn't updated so I don't get an updated dependency file. Shouldn't tce-update check for updated dependency files even if the tcz isn't changed? It seems not.
Title: Re: Where is ar
Post by: Misalf on October 05, 2017, 08:06:47 AM
Apps -> Maintenance -> Dependencies and Deletions -> Update .dep files.
Title: Re: Where is ar
Post by: Misalf on October 05, 2017, 08:09:02 AM
Or
Code: [Select]
tce-audit updatedeps
Title: Re: Where is ar
Post by: andyj on October 05, 2017, 01:04:00 PM
Is there one right way to update everything (short of rsync), or is this a multi-step process by design?
Title: Re: Where is ar
Post by: curaga on October 05, 2017, 01:39:38 PM
It's a separate step in case you made custom edits to .dep files, etc.
Title: Re: Where is ar
Post by: andyj on October 05, 2017, 05:14:44 PM
In that case, is there a way to blacklist certain extensions from being updated?
Title: Re: Where is ar
Post by: roger@languageONE.com.au on October 05, 2017, 06:15:27 PM
Found that. Thank you guys. However

When I run ar I receive the message "Cannot open shared libraries..libfl.so.2"
Any clues ?
Title: Re: Where is ar
Post by: Misalf on October 05, 2017, 06:21:26 PM
@andyj
You could remove the  .md5.txt  file of an extensions you don't want to get updated, but that makes subsequent extensions fail to download if the extension you want to protect is a dependency of one that is to be downloaded. Because the  .tcz  is already there but cannot be verified to be OK.

I use to have a directory  /tce/optional/custom , containing my personal and costomized extensions, symlinked one directory up. If one gets "updated", I can fix it by re-symlinking it.

A real blacklist feature would be handy though.

@roger@languageONE.com.au
You need  flex.tcz . You dont have the new  .dep  file yet.
Run
Code: [Select]
tce-audit updatedeps
tce-audit fetchmissing
Title: Re: Where is ar
Post by: andyj on October 07, 2017, 10:11:01 AM
This does an update in place, so good thing I saved my .dep edits before I started. This begs the question, why is there more than one way to update our extensions and why don't they behave consistently (one in place, one to an "upgrade" directory)?
Title: Re: Where is ar
Post by: curaga on October 07, 2017, 01:50:38 PM
There's one for GUI and one for CLI, but anyway, patches welcome :)
Title: Re: Where is ar
Post by: andyj on October 14, 2017, 12:57:54 PM
Here's a patch for tce-update CLI that supports blacklisting extensions from being updated. The blacklist file $TCEDIR/tcz-black.lst is a list of extensions (with .tcz ending preferably) to not update. Nothing fancy like command line switches yet. In my situation repository extensions don't overwrite the ones I'm trying to build, or update extensions with bugs like Perl 5.24 that prevent other extensions from being built.
Title: Re: Where is ar
Post by: coreplayer2 on October 14, 2017, 01:11:24 PM
It's easier to simply delete the accompanying "extension-name.tcz.md5.txt file, done!  no more will the extension be updated
Title: Re: Where is ar
Post by: Juanito on October 15, 2017, 02:32:21 AM
..update extensions with bugs like Perl 5.24 that prevent other extensions from being built.

Around blfs-7.10 there were a number of sed strings used to fix the compilation of various apps with perl-5.24.0 - you might be lucky enough to find the one you need?
Title: Re: Where is ar
Post by: curaga on October 15, 2017, 04:23:53 AM
Applied, thanks. Using -name "*.tcz.dep" would be faster than regex, but it's rare to update hundreds of extensions at once.
Title: Re: Where is ar
Post by: andyj on October 15, 2017, 09:09:02 AM
The perl problem is when compiling net-snmp with perl 5.24, it dies with with "panic: attempt to copy freed scalar". This doesn't happen with perl 5.22. I don't know if perl 5.26 would fix it.

As for -name versus -regex, it's what happens when I borrow from other scripts.
Title: Re: Where is ar
Post by: Juanito on October 16, 2017, 12:49:08 AM
I believe the fix is here:

https://sourceforge.net/p/net-snmp/code/ci/4e793461e96a2b4fd81142ab312d074d5c8841fa/
Title: Re: Where is ar
Post by: coreplayer2 on October 23, 2017, 11:56:52 AM
Here's a patch for tce-update CLI that supports blacklisting extensions from being updated. The blacklist file $TCEDIR/tcz-black.lst is a list of extensions (with .tcz ending preferably) to not update. Nothing fancy like command line switches yet. In my situation repository extensions don't overwrite the ones I'm trying to build, or update extensions with bugs like Perl 5.24 that prevent other extensions from being built.

That's great, thanks.   

Speaking of a Blacklist...   A couple years ago, I took a different approach to updating extensions and created a script (and extension) which downloaded missing md5 files, updated all current extensions unless they were "Blacklisted".  The script asks if an extension with missing md5 file needs to be added to the Blacklist file (and it's backup).   Although the script was originally designed to resolve and download corrupted extensions and missing md5 files all on it's own, I found the script became my 'GoTo' update utility of choice. I run the extension one or two times a week on all x86 & x86_64 systems   The script maintains it's own extension Blacklist prompting us if an addition to the list is intended before downloading a missing md5 file.   As a byproduct of md5 verification the script will automatically update any extensions which are corrupted or outdated using the default TC extension Upgrade method.  Because the script can compare original md5 files with the repo's current md5 file (there are two methods) the update process can be as much as a day earlier than using the tce-update or APPS update. 
The script will not delete any existing extension, Instead a backup is created for safety. whilst the new extension update is processed using the standard TC mechanism.  The script provides an opportunity to remove extension backups from previous updates.
Additionally the extension/script manages backups of the Blacklist!!

The Blacklist creating and extension update script within "tce-md5check.tcz" has been in use in past few repo's and is not much discussed except with those who have helped test it, thanks guys..   An here we are only now talking about extension blacklists of new or updated extensions because I have found a blacklist to inhibit update of maintained extensions essential and has been a huge benefit these last few years.

The extension "tce-md5check" has just been updated and submitted to accommodate the latest BusyBox version and fix for a cosmetic glitch, I've attached the latest script here in case the blacklist feature spurs some interest..