Compare commits
No commits in common. "470773fdbaac4e6b316fe201d702740384b108d0" and "7669d10f4860588376e4f31aa808b80658feb528" have entirely different histories.
470773fdba
...
7669d10f48
5
.gitignore
vendored
|
|
@ -1,5 +0,0 @@
|
|||
*~
|
||||
repos
|
||||
jails
|
||||
logs
|
||||
PACKAGES/
|
||||
103
CONTRIBUTING.md
|
|
@ -1,103 +0,0 @@
|
|||
# Contributing
|
||||
|
||||
Whether you've got a bugfix, documentation update, or new feature for us, these are the steps to follow to contribute code back into the main trisquel repo.
|
||||
|
||||
## 1. Prerequisites
|
||||
|
||||
|
||||
|
||||
1. Install needed packages for running the helpers
|
||||
```
|
||||
sudo apt-get install cdbs devscripts dpkg-dev git gnupg patch quilt rpl sed
|
||||
```
|
||||
|
||||
1. Get the Trisquel build environment and follow the [README](https://gitlab.trisquel.org/trisquel/trisquel-builder/-/blob/master/README.md) to setup your system for building
|
||||
```
|
||||
git clone https://gitlab.trisquel.org/trisquel/trisquel-builder.git
|
||||
```
|
||||
|
||||
|
||||
## 2. Get the latest code from gitlab
|
||||
|
||||
You'll need to understand a little bit about how git and gitlab work before this step (GitHub works the same way, but we like free software). In simple terms, log in [here](https://gitlab.trisquel.org/users/sign_in?redirect_to_referer=yes), visit the [trisquel/package-helpers project page](https://gitlab.trisquel.org/trisquel/package-helpers), and click the "fork" button to create your own copy of the repo. You will push your changes to this new repo under your own git account, and we will pull changes into the main repo from there.
|
||||
|
||||
For the sake of the rest of the examples in this guide, we're going to assume your gitlab username is "**richardtorvalds**" and you will be working with the "**hello**" package, and use those in our examples.
|
||||
|
||||
Now, we want to grab the latest from this newly created repository and pull it down to your local machine. Getting the latest code from your repo is simple, just clone it:
|
||||
|
||||
```bash
|
||||
git clone https://gitlab.trisquel.org/richardtorvalds/package-helpers.git
|
||||
cd package-helpers
|
||||
```
|
||||
|
||||
This will give you a directory called "package-helpers" on your local machine with the latest checkout from your fork of the main package-helpers repo. **Note:** this is *not* a direct reference to the main trisquel repo. When you make changes in your fork, you'll need to let us know about it so we can pull it over....but that's later in the process.
|
||||
|
||||
## 3. Add a remote for the main package-helpers repo
|
||||
|
||||
One thing you'll need to do to make things easier to integrate and keep up to date in your fork is to add the main repo as a remote reference. This way you can fetch the latest code from the production version and integrate it. So, here's how to set that up:
|
||||
|
||||
```bash
|
||||
git remote add upstream https://gitlab.trisquel.org/trisquel/package-helpers.git
|
||||
git remote (this will list out your remotes, showing the new one we added)
|
||||
```
|
||||
|
||||
Then, when you need to pull the latest from the main trisquel repo, you just fetch and merge the master branch:
|
||||
|
||||
```bash
|
||||
git fetch upstream
|
||||
git merge upstream/nabia
|
||||
```
|
||||
|
||||
You can also use *git pull upstream nabia* if you want it all in one step.
|
||||
|
||||
## 4. Making a branch for your changes
|
||||
|
||||
When adding features or bug fixes, please create a separate branch for each changeset you want us to pull in, either with the issue number in the branch name or with an indication of what the feature is (feature, bugfix...).
|
||||
|
||||
```bash
|
||||
git branch (lists your current branches)
|
||||
git checkout -b bugfix-hello (makes a new branch called bugfix-hello)
|
||||
```
|
||||
|
||||
|
||||
## 5. Building the source package
|
||||
|
||||
If you want to create a new package, apache2 is a good starting point, so:
|
||||
```
|
||||
cd helpers
|
||||
cp make-apache2 make-hello
|
||||
```
|
||||
|
||||
For importing free packages from ppa's or other sources, check [make-tor](https://gitlab.trisquel.org/trisquel/package-helpers/blob/nabia/helpers/make-tor) and update the _EXTERNAL_ , _SIGNKEY_ and _changelog_ lines with your own values.
|
||||
|
||||
Then, run the helper with
|
||||
```
|
||||
bash make-hello
|
||||
```
|
||||
|
||||
If everything goes fine, you will have your new source package ready at _PACKAGES/hello/_
|
||||
|
||||
## 6. Build and test the binary package
|
||||
|
||||
The last step generated a source package file, so we need to build the binary one. Please make sure that you set or replace `CODENAME` and `ARCH` variables:
|
||||
```
|
||||
sbuild -v -A --dist $CODENAME --arch $ARCH PACKAGES/hello/*.dsc
|
||||
```
|
||||
|
||||
The binary packages will be avaliable in the directory from which you ran the previous command.
|
||||
|
||||
|
||||
## 7. Push your code and make a pull request
|
||||
|
||||
When you have finished making your changes, you'll need to push up your changes to your fork so we can grab them. With them all committed, push them:
|
||||
|
||||
```bash
|
||||
git push origin bugfix-hello
|
||||
```
|
||||
|
||||
This pushes everything in that branch up. Then you can go back to your forked package-helpers gitlab page and issue a pull request from there. Tell us what you want us to merge and what it does/fixes, and one of us will pick it up.
|
||||
|
||||
That lets us know that there's something new from you that needs to be pulled in. We'll review it and get back to you about it if we have any questions. Otherwise, we'll integrate it and let you know when it's in!
|
||||
|
||||
|
||||
Hope this guide helps you get started in contributing to the trisquel project! If you still have questions, don't hesitate to join us on IRC - we're in #trisquel-dev on libera.chat -, or send a mail to the development mailing list trisquel-devel at listas.trisquel.info.
|
||||
676
COPYING
|
|
@ -1,676 +0,0 @@
|
|||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
the GNU General Public License is intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users. We, the Free Software Foundation, use the
|
||||
GNU General Public License for most of our software; it applies also to
|
||||
any other work released this way by its authors. You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to prevent others from denying you
|
||||
these rights or asking you to surrender the rights. Therefore, you have
|
||||
certain responsibilities if you distribute copies of the software, or if
|
||||
you modify it: responsibilities to respect the freedom of others.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must pass on to the recipients the same
|
||||
freedoms that you received. You must make sure that they, too, receive
|
||||
or can get the source code. And you must show them these terms so they
|
||||
know their rights.
|
||||
|
||||
Developers that use the GNU GPL protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License
|
||||
giving you legal permission to copy, distribute and/or modify it.
|
||||
|
||||
For the developers' and authors' protection, the GPL clearly explains
|
||||
that there is no warranty for this free software. For both users' and
|
||||
authors' sake, the GPL requires that modified versions be marked as
|
||||
changed, so that their problems will not be attributed erroneously to
|
||||
authors of previous versions.
|
||||
|
||||
Some devices are designed to deny users access to install or run
|
||||
modified versions of the software inside them, although the manufacturer
|
||||
can do so. This is fundamentally incompatible with the aim of
|
||||
protecting users' freedom to change the software. The systematic
|
||||
pattern of such abuse occurs in the area of products for individuals to
|
||||
use, which is precisely where it is most unacceptable. Therefore, we
|
||||
have designed this version of the GPL to prohibit the practice for those
|
||||
products. If such problems arise substantially in other domains, we
|
||||
stand ready to extend this provision to those domains in future versions
|
||||
of the GPL, as needed to protect the freedom of users.
|
||||
|
||||
Finally, every program is threatened constantly by software patents.
|
||||
States should not allow patents to restrict development and use of
|
||||
software on general-purpose computers, but in those that do, we wish to
|
||||
avoid the special danger that patents applied to a free program could
|
||||
make it effectively proprietary. To prevent this, the GPL assures that
|
||||
patents cannot be used to render the program non-free.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
|
||||
2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Use with the GNU Affero General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU Affero General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the special requirements of the GNU Affero General Public License,
|
||||
section 13, concerning interaction through a network will apply to the
|
||||
combination as such.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
<program> Copyright (C) <year> <name of author>
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, your program's commands
|
||||
might be different; for a GUI interface, you would use an "about box".
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
||||
|
||||
232
LICENSE
Normal file
|
|
@ -0,0 +1,232 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU General Public License is a free, copyleft license for software and other kinds of works.
|
||||
|
||||
The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.
|
||||
|
||||
For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
|
||||
|
||||
Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
|
||||
|
||||
For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.
|
||||
|
||||
Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
|
||||
|
||||
Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.
|
||||
|
||||
The precise terms and conditions for copying, distribution and modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
“This License” refers to version 3 of the GNU General Public License.
|
||||
|
||||
“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
|
||||
|
||||
“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.
|
||||
|
||||
To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.
|
||||
|
||||
A “covered work” means either the unmodified Program or a work based on the Program.
|
||||
|
||||
To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
|
||||
|
||||
To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
|
||||
|
||||
A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
|
||||
|
||||
The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that same work.
|
||||
|
||||
2. Basic Permissions.
|
||||
All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
|
||||
|
||||
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
|
||||
|
||||
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
|
||||
|
||||
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
|
||||
|
||||
b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
|
||||
|
||||
c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
|
||||
|
||||
d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
|
||||
|
||||
e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
|
||||
|
||||
A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
|
||||
|
||||
“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
|
||||
|
||||
An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
|
||||
|
||||
11. Patents.
|
||||
A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.
|
||||
|
||||
A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
|
||||
|
||||
A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Use with the GNU Affero General Public License.
|
||||
Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. Limitation of Liability.
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
|
||||
|
||||
package-helpers-cmxsl
|
||||
Copyright (C) 2025 CMXSL.org
|
||||
|
||||
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
|
||||
|
||||
package-helpers-cmxsl Copyright (C) 2025 CMXSL.org
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read <https://www.gnu.org/philosophy/why-not-lgpl.html>.
|
||||
90
README.md
|
|
@ -1,91 +1,5 @@
|
|||
## Introduction
|
||||
# package-helpers-cmxsl
|
||||
|
||||
This set of scripts are helpers that modify and create the source packages coming
|
||||
from the Ubuntu upstream which need it. It might be because they contain
|
||||
non-free stuff, references to Ubuntu that need to be changed, or because we
|
||||
want the package to work our way.
|
||||
|
||||
This helpers are similar to some of those in the [gNewSense](http://www.gnewsense.org/Builder/HowToCreateYourOwnGNULinuxDistribution) builder, we took
|
||||
some ideas and even some lines from them. If you plan to build an Ubuntu
|
||||
derivative of your own, we suggest you to use Builder instead of this helpers.
|
||||
|
||||
Once a new package is added, it takes priority over the original one from Ubuntu,
|
||||
so they never enter into the repo from upstream and need to be
|
||||
compiled with this helpers and pushed into reprepro.
|
||||
|
||||
To add a package to the list, follow the [CONTRIBUTING](https://gitlab.trisquel.org/trisquel/package-helpers/blob/nabia/CONTRIBUTING.md) guidelines.
|
||||
|
||||
## Steps
|
||||
|
||||
Those are the steps done by the helpers:
|
||||
|
||||
1. Create local apt configuration, so you don't need to be root to run the helpers
|
||||
2. Get the ubuntu and trisquel gpg keys
|
||||
3. Get the source packages from their original repo
|
||||
4. Uncompress them
|
||||
5. Apply the changes described in the helper
|
||||
6. Re-package it, adding "triquel$VERSION" version string
|
||||
|
||||
## Variables in helper scripts
|
||||
|
||||
* `VERSION` (required): The trisquel version for the helper.
|
||||
* `EXTERNAL`: When building packages not coming from the upstream Ubuntu, the external `deb-src` in the same format as in `apt.sources.list`.
|
||||
* `REPOKEY`: An additional GPG key to import for the helper. Mostly only used in conjunction with `EXTERNAL`.
|
||||
* `BACKPORT(S)`: Must be set to `true` if the package is a backport.
|
||||
* `QUILT`: If `skip`, avoids patches to be automatically applied. Only set this variables if you know what you are doing.
|
||||
* `BUILD_UNTIL`: build this helper if the Trisquel REVISION number (e.g. Trisquel 10.0) is <= this number. To be used when we know that the helper will not be needed at a certain future release.
|
||||
|
||||
## Recommendations
|
||||
|
||||
* You don't need to use sudo in order to run those scripts, but some extra packages are needed:
|
||||
|
||||
`sudo apt-get install cdbs devscripts dpkg-dev git gnupg gnupg2 patch python2 quilt rename rpl sed python3-jsonschema`
|
||||
|
||||
* Take care to use the right sourcePackageName, many source packages produce
|
||||
several binary packages. `apt-cache showsrc binary-package` can help you.
|
||||
* If possible, use sed to replace chains in the upstream source without the
|
||||
need of external files or patches. If you really need to include a file, place
|
||||
it at the `DATA/sourcePackageName` directory
|
||||
* Do not replace *all* references to Ubuntu in the package, just those that
|
||||
would actually be shown to the user. Avoid replacing copyright statements!
|
||||
* Try to write your replacements in a way they might work in future versions
|
||||
of the upstream package. Well written regexps and sed will help with that.
|
||||
* You can test your changes by doing them inside the _PACKAGES/sourcePackageName/source/_ directory,
|
||||
and running `dpkg-source -b .`, before being added to the helper script
|
||||
* You can check the status of failed build at https://jenkins.trisquel.org/job/build-watchdog/lastBuild/consoleText
|
||||
|
||||
## Debootstrap
|
||||
On every new release we need to get compiled the very basic packages in order
|
||||
to create a trisquel base builder.
|
||||
Before that we currently relay on a upstream debootstrap image, so creating a
|
||||
trisquel debootstrap is the starting point.
|
||||
|
||||
Every new release need the following packages taken care of first,
|
||||
|
||||
* `make-apt`
|
||||
* `make-base-files`
|
||||
* `make-bash`
|
||||
* `make-debootstrap`
|
||||
* `make-dpkg`
|
||||
* `make-cdebconf`
|
||||
* `trisquel-keyring` (not as helper)
|
||||
* `trisquel-meta` (not as helper)
|
||||
|
||||
## Netinstall
|
||||
|
||||
Included are the set of scipts used to generate the network installer images
|
||||
found in Trisquel GNU/Linux LTS (version 2.0, 4.0, 6.0... and up). The scripts
|
||||
may not be available for all versions.
|
||||
|
||||
To generate the images, we run the following scripts:
|
||||
|
||||
* `make-apt-setup`
|
||||
* `make-base-installer`
|
||||
* `make-choose-mirror`
|
||||
* `make-main-menu`
|
||||
* `make-netcfg`
|
||||
* `make-net-retriever`
|
||||
* `make-pkgsel`
|
||||
|
||||
Then we push the results into the Trisquel repository and run the script
|
||||
`make-debian-installer` to build the final images.
|
||||
Collection of scripts to modify and compile upstream packages at the CMXSL
|
||||
|
|
|
|||
|
|
@ -1,32 +0,0 @@
|
|||
diff --git a/debian/control b/debian/control
|
||||
index b4734c95..e0aa528c 100644
|
||||
--- a/debian/control
|
||||
+++ b/debian/control
|
||||
@@ -13,7 +13,7 @@ Vcs-Browser: https://salsa.debian.org/debian/7zip
|
||||
Package: 7zip
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends}
|
||||
-Suggests: 7zip-standalone, 7zip-rar
|
||||
+Suggests: 7zip-standalone
|
||||
Breaks: p7zip-full (<= 16.02+dfsg-8), p7zip (<= 16.02+dfsg-8)
|
||||
Replaces: p7zip-full (<= 16.02+dfsg-8), p7zip (<= 16.02+dfsg-8)
|
||||
Provides: p7zip-full, p7zip
|
||||
@@ -37,7 +37,6 @@ Description: 7-Zip file archiver with a high compression ratio
|
||||
* /usr/bin/7zr: LZMA (.7z, .lzma, .xz) only. Minimal executable.
|
||||
.
|
||||
Note: The unRAR code was dropped to keep compatible with DFSG.
|
||||
- Install 7zip-rar package in non-free section to use RAR files.
|
||||
|
||||
Package: 7zip-standalone
|
||||
Architecture: any
|
||||
@@ -49,8 +48,8 @@ Description: 7-Zip file archiver with a high compression ratio (standalone)
|
||||
.
|
||||
"7zip-standalone" provides:
|
||||
* /usr/bin/7zz: Full featured except plugins, standalone executable.
|
||||
- This means 7zz can't work with unRAR plugin that provided by 7zip-rar
|
||||
- package. Use 7zip package for unRAR plugin.
|
||||
+ This means 7zz can't work with the non-free unRAR plugin not
|
||||
+ available at Trisquel repo.
|
||||
.
|
||||
Note: If you want to create SFX archive, you also needs 7zip package for SFX
|
||||
stub module.
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
--- src/akregator_part.cpp 2020-06-05 11:41:23.000000000 -0500
|
||||
+++ src/akregator_part_trisquel.cpp 2020-06-05 12:46:05.914051386 -0500
|
||||
@@ -189,6 +189,61 @@
|
||||
wire.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("http://wire.kubuntu.org/?feed=rss2"));
|
||||
kubuntuFolder.appendChild(wire);
|
||||
|
||||
+// Trisquel feeds
|
||||
+ QDomElement trisquelFolder = doc.createElement(QStringLiteral("outline"));
|
||||
+ trisquelFolder.setAttribute(QStringLiteral("text"), QStringLiteral("Trisquel GNU/Linux"));
|
||||
+ body.appendChild(trisquelFolder);
|
||||
+
|
||||
+ QDomElement tnews = doc.createElement(QStringLiteral("outline"));
|
||||
+ tnews.setAttribute(QStringLiteral("text"), i18n("News"));
|
||||
+ tnews.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("https://trisquel.info/en/node/feed"));
|
||||
+ trisquelFolder.appendChild(tnews);
|
||||
+
|
||||
+ QDomElement relAnnounce = doc.createElement(QStringLiteral("outline"));
|
||||
+ relAnnounce.setAttribute(QStringLiteral("text"), i18n("Release announcements"));
|
||||
+ relAnnounce.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("https://trisquel.info/en/taxonomy/term/700/0/feed"));
|
||||
+ trisquelFolder.appendChild(relAnnounce);
|
||||
+
|
||||
+ QDomElement enForum = doc.createElement(QStringLiteral("outline"));
|
||||
+ enForum.setAttribute(QStringLiteral("text"), i18n("Forum"));
|
||||
+ enForum.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("https://trisquel.info/en/taxonomy/term/50/0/feed"));
|
||||
+ trisquelFolder.appendChild(enForum);
|
||||
+
|
||||
+ QDomElement tReddit = doc.createElement(QStringLiteral("outline"));
|
||||
+ tReddit.setAttribute(QStringLiteral("text"), i18n("Trisquel at Reddit"));
|
||||
+ tReddit.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("https://www.reddit.com/r/trisquel/.rss"));
|
||||
+ trisquelFolder.appendChild(tReddit);
|
||||
+
|
||||
+// Free Software feeds
|
||||
+ QDomElement fsFolder = doc.createElement(QStringLiteral("outline"));
|
||||
+ fsFolder.setAttribute(QStringLiteral("text"), QStringLiteral("Free Software"));
|
||||
+ body.appendChild(fsFolder);
|
||||
+
|
||||
+ QDomElement newGNU = doc.createElement(QStringLiteral("outline"));
|
||||
+ newGNU.setAttribute(QStringLiteral("text"), i18n("What's New at GNU"));
|
||||
+ newGNU.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("https://www.reddit.com/r/trisquel/.rss"));
|
||||
+ fsFolder.appendChild(newGNU);
|
||||
+
|
||||
+ QDomElement fsfNews = doc.createElement(QStringLiteral("outline"));
|
||||
+ fsfNews.setAttribute(QStringLiteral("text"), i18n("FSF News"));
|
||||
+ fsfNews.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("https://static.fsf.org/fsforg/rss/news.xml"));
|
||||
+ fsFolder.appendChild(fsfNews);
|
||||
+
|
||||
+ QDomElement fsfEvents = doc.createElement(QStringLiteral("outline"));
|
||||
+ fsfEvents.setAttribute(QStringLiteral("text"), i18n("FSF Events"));
|
||||
+ fsfEvents.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("https://static.fsf.org/fsforg/rss/events.xml"));
|
||||
+ fsFolder.appendChild(fsfEvents);
|
||||
+
|
||||
+ QDomElement fsfBlog = doc.createElement(QStringLiteral("outline"));
|
||||
+ fsfBlog.setAttribute(QStringLiteral("text"), i18n("FSF Blogs"));
|
||||
+ fsfBlog.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("https://static.fsf.org/fsforg/rss/blogs.xml"));
|
||||
+ fsFolder.appendChild(fsfBlog);
|
||||
+
|
||||
+ QDomElement gnuReddit = doc.createElement(QStringLiteral("outline"));
|
||||
+ gnuReddit.setAttribute(QStringLiteral("text"), i18n("GNU at Reddit"));
|
||||
+ gnuReddit.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("https://www.reddit.com/r/gnu/.rss"));
|
||||
+ fsFolder.appendChild(gnuReddit);
|
||||
+
|
||||
return doc;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,353 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<title>Trisquel GNU/Linux Default Page for Apache2: It works</title>
|
||||
<style type="text/css" media="screen">
|
||||
* {
|
||||
margin: 0px 0px 0px 0px;
|
||||
padding: 0px 0px 0px 0px;
|
||||
}
|
||||
|
||||
body, html {
|
||||
padding: 3px 3px 3px 3px;
|
||||
|
||||
background-color: #D8DBE2;
|
||||
|
||||
font-family: Verdana, sans-serif;
|
||||
font-size: 11pt;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
img{
|
||||
padding:15px;
|
||||
}
|
||||
|
||||
div.main_page {
|
||||
position: relative;
|
||||
display: table;
|
||||
|
||||
width: 800px;
|
||||
|
||||
margin-bottom: 3px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
padding: 0px 0px 0px 0px;
|
||||
|
||||
border-width: 2px;
|
||||
border-color: #212738;
|
||||
border-style: solid;
|
||||
|
||||
background-color: #FFFFFF;
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.page_header {
|
||||
width: 100%;
|
||||
|
||||
background-color: #F5F6F7;
|
||||
}
|
||||
|
||||
div.page_header span {
|
||||
margin: 55px 0px 0px 80px;
|
||||
|
||||
font-size: 180%;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.page_header img {
|
||||
margin: 3px 0px 0px 40px;
|
||||
|
||||
border: 0px 0px 0px;
|
||||
}
|
||||
|
||||
div.table_of_contents {
|
||||
clear: left;
|
||||
|
||||
min-width: 200px;
|
||||
|
||||
margin: 3px 3px 3px 3px;
|
||||
|
||||
background-color: #FFFFFF;
|
||||
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.table_of_contents_item {
|
||||
clear: left;
|
||||
|
||||
width: 100%;
|
||||
|
||||
margin: 4px 0px 0px 0px;
|
||||
|
||||
background-color: #FFFFFF;
|
||||
|
||||
color: #000000;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.table_of_contents_item a {
|
||||
margin: 6px 0px 0px 6px;
|
||||
}
|
||||
|
||||
div.content_section {
|
||||
margin: 3px 3px 3px 3px;
|
||||
|
||||
background-color: #FFFFFF;
|
||||
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.content_section_text {
|
||||
padding: 4px 8px 4px 8px;
|
||||
|
||||
color: #000000;
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
div.content_section_text pre {
|
||||
margin: 8px 0px 8px 0px;
|
||||
padding: 8px 8px 8px 8px;
|
||||
|
||||
border-width: 1px;
|
||||
border-style: dotted;
|
||||
border-color: #000000;
|
||||
|
||||
background-color: #F5F6F7;
|
||||
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
div.content_section_text p {
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
div.content_section_text ul, div.content_section_text li {
|
||||
padding: 4px 8px 4px 16px;
|
||||
}
|
||||
|
||||
div.section_header {
|
||||
padding: 3px 6px 3px 6px;
|
||||
|
||||
background-color: #8E9CB2;
|
||||
|
||||
color: #FFFFFF;
|
||||
font-weight: bold;
|
||||
font-size: 112%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.section_header_blue {
|
||||
background-color: #3B5996;
|
||||
}
|
||||
|
||||
div.section_header_grey {
|
||||
background-color: #9F9386;
|
||||
}
|
||||
|
||||
.floating_element {
|
||||
position: relative;
|
||||
float: left;
|
||||
}
|
||||
|
||||
div.table_of_contents_item a,
|
||||
div.content_section_text a {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.table_of_contents_item a:link,
|
||||
div.table_of_contents_item a:visited,
|
||||
div.table_of_contents_item a:active {
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
div.table_of_contents_item a:hover {
|
||||
background-color: #000000;
|
||||
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
div.content_section_text a:link,
|
||||
div.content_section_text a:visited,
|
||||
div.content_section_text a:active {
|
||||
background-color: #DCDFE6;
|
||||
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
div.content_section_text a:hover {
|
||||
background-color: #000000;
|
||||
|
||||
color: #DCDFE6;
|
||||
}
|
||||
|
||||
div.validator {
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="main_page">
|
||||
<div class="page_header floating_element">
|
||||
<img src="/icons/trisquel-logo.png" alt="Trisquel Logo" class="floating_element"/>
|
||||
<span class="floating_element">
|
||||
Trisquel Default Page for Apache2
|
||||
</span>
|
||||
</div>
|
||||
<!-- <div class="table_of_contents floating_element">
|
||||
<div class="section_header section_header_grey">
|
||||
TABLE OF CONTENTS
|
||||
</div>
|
||||
<div class="table_of_contents_item floating_element">
|
||||
<a href="#about">About</a>
|
||||
</div>
|
||||
<div class="table_of_contents_item floating_element">
|
||||
<a href="#changes">Changes</a>
|
||||
</div>
|
||||
<div class="table_of_contents_item floating_element">
|
||||
<a href="#scope">Scope</a>
|
||||
</div>
|
||||
<div class="table_of_contents_item floating_element">
|
||||
<a href="#files">Config files</a>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
<div class="content_section floating_element">
|
||||
|
||||
|
||||
<div class="section_header section_header_blue">
|
||||
<div id="about"></div>
|
||||
It works!
|
||||
</div>
|
||||
<div class="content_section_text">
|
||||
<p>
|
||||
This is the default welcome page used to test the correct
|
||||
operation of the Apache2 server after installation on Trisquel systems.
|
||||
It is based on the equivalent page on Debian, from which the Trisquel Apache
|
||||
packaging is derived.
|
||||
If you can read this page, it means that the Apache HTTP server installed at
|
||||
this site is working properly. You should <b>replace this file</b> (located at
|
||||
<tt>/var/www/html/index.html</tt>) before continuing to operate your HTTP server.
|
||||
</p>
|
||||
|
||||
|
||||
<p>
|
||||
If you are a normal user of this web site and don't know what this page is
|
||||
about, this probably means that the site is currently unavailable due to
|
||||
maintenance.
|
||||
If the problem persists, please contact the site's administrator.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
<div class="section_header">
|
||||
<div id="changes"></div>
|
||||
Configuration Overview
|
||||
</div>
|
||||
<div class="content_section_text">
|
||||
<p>
|
||||
Trisquel's Apache2 default configuration is different from the
|
||||
upstream default configuration, and split into several files optimized for
|
||||
interaction with Trisquel tools. The configuration system is
|
||||
<b>fully documented in
|
||||
/usr/share/doc/apache2/README.Debian.gz</b>. Refer to this for the full
|
||||
documentation. Documentation for the web server itself can be
|
||||
found by accessing the <a href="/manual">manual</a> if the <tt>apache2-doc</tt>
|
||||
package was installed on this server.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
The configuration layout for an Apache2 web server installation on Trisquel systems is as follows:
|
||||
</p>
|
||||
<pre>
|
||||
/etc/apache2/
|
||||
|-- apache2.conf
|
||||
| `-- ports.conf
|
||||
|-- mods-enabled
|
||||
| |-- *.load
|
||||
| `-- *.conf
|
||||
|-- conf-enabled
|
||||
| `-- *.conf
|
||||
|-- sites-enabled
|
||||
| `-- *.conf
|
||||
</pre>
|
||||
<ul>
|
||||
<li>
|
||||
<tt>apache2.conf</tt> is the main configuration
|
||||
file. It puts the pieces together by including all remaining configuration
|
||||
files when starting up the web server.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<tt>ports.conf</tt> is always included from the
|
||||
main configuration file. It is used to determine the listening ports for
|
||||
incoming connections, and this file can be customized anytime.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
Configuration files in the <tt>mods-enabled/</tt>,
|
||||
<tt>conf-enabled/</tt> and <tt>sites-enabled/</tt> directories contain
|
||||
particular configuration snippets which manage modules, global configuration
|
||||
fragments, or virtual host configurations, respectively.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
They are activated by symlinking available
|
||||
configuration files from their respective
|
||||
*-available/ counterparts. These should be managed
|
||||
by using our helpers
|
||||
<tt>
|
||||
<a href="http://manpages.debian.org/cgi-bin/man.cgi?query=a2enmod">a2enmod</a>,
|
||||
<a href="http://manpages.debian.org/cgi-bin/man.cgi?query=a2dismod">a2dismod</a>,
|
||||
</tt>
|
||||
<tt>
|
||||
<a href="http://manpages.debian.org/cgi-bin/man.cgi?query=a2ensite">a2ensite</a>,
|
||||
<a href="http://manpages.debian.org/cgi-bin/man.cgi?query=a2dissite">a2dissite</a>,
|
||||
</tt>
|
||||
and
|
||||
<tt>
|
||||
<a href="http://manpages.debian.org/cgi-bin/man.cgi?query=a2enconf">a2enconf</a>,
|
||||
<a href="http://manpages.debian.org/cgi-bin/man.cgi?query=a2disconf">a2disconf</a>
|
||||
</tt>. See their respective man pages for detailed information.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
The binary is called apache2. Due to the use of
|
||||
environment variables, in the default configuration, apache2 needs to be
|
||||
started/stopped with <tt>/etc/init.d/apache2</tt> or <tt>apache2ctl</tt>.
|
||||
<b>Calling <tt>/usr/bin/apache2</tt> directly will not work</b> with the
|
||||
default configuration.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="section_header">
|
||||
<div id="docroot"></div>
|
||||
Document Roots
|
||||
</div>
|
||||
|
||||
<div class="content_section_text">
|
||||
<p>
|
||||
By default, Trisquel does not allow access through the web browser to
|
||||
<em>any</em> file apart of those located in <tt>/var/www</tt>,
|
||||
<a href="http://httpd.apache.org/docs/2.4/mod/mod_userdir.html">public_html</a>
|
||||
directories (when enabled) and <tt>/usr/share</tt> (for web
|
||||
applications). If your site is using a web document root
|
||||
located elsewhere (such as in <tt>/srv</tt>) you may need to whitelist your
|
||||
document root directory in <tt>/etc/apache2/apache2.conf</tt>.
|
||||
</p>
|
||||
<p>
|
||||
The default Trisquel document root is <tt>/var/www/html</tt>. You
|
||||
can make your own virtual hosts under /var/www. This is different
|
||||
to previous releases which provides better security out of the box.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
Before Width: | Height: | Size: 14 KiB |
|
|
@ -1,168 +0,0 @@
|
|||
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
|
||||
|
||||
<Menu>
|
||||
|
||||
<Name>Applications</Name>
|
||||
<Directory>X-GNOME-Menu-Applications.directory</Directory>
|
||||
|
||||
<AppDir>.</AppDir>
|
||||
|
||||
<!-- we disable those here, otherwise we see e.g. wine menus -->
|
||||
<!-- Read standard .directory and .desktop file locations -->
|
||||
<!-- <DefaultAppDirs/> -->
|
||||
<!-- Read in overrides and child menus from applications-merged/ -->
|
||||
<!-- <DefaultMergeDirs/> -->
|
||||
|
||||
<DefaultDirectoryDirs/>
|
||||
|
||||
<!-- Accessories submenu -->
|
||||
<Menu>
|
||||
<Name>Accessories</Name>
|
||||
<Directory>Utility.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Utility</Category>
|
||||
<!-- Accessibility spec must have either the Utility or Settings
|
||||
category, and we display an accessibility submenu already for
|
||||
the ones that do not have Settings, so don't display accessibility
|
||||
applications here -->
|
||||
<Not><Category>Accessibility</Category></Not>
|
||||
<Not><Category>System</Category></Not>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu> <!-- End Accessories -->
|
||||
|
||||
<!-- Accessibility submenu -->
|
||||
<Menu>
|
||||
<Name>Universal Access</Name>
|
||||
<Directory>Utility-Accessibility.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Accessibility</Category>
|
||||
<Not><Category>Settings</Category></Not>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu> <!-- End Accessibility -->
|
||||
|
||||
<!-- Development Tools -->
|
||||
<Menu>
|
||||
<Name>Development</Name>
|
||||
<Directory>Development.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Development</Category>
|
||||
</And>
|
||||
<Filename>emacs.desktop</Filename>
|
||||
</Include>
|
||||
</Menu> <!-- End Development Tools -->
|
||||
|
||||
<!-- Education -->
|
||||
<Menu>
|
||||
<Name>Education</Name>
|
||||
<Directory>Education.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Education</Category>
|
||||
<Not><Category>Science</Category></Not>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu> <!-- End Education -->
|
||||
|
||||
<!-- Science -->
|
||||
<Menu>
|
||||
<Name>Science</Name>
|
||||
<Directory>GnomeScience.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Education</Category>
|
||||
<Category>Science</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu> <!-- End Science -->
|
||||
|
||||
<!-- Games -->
|
||||
<Menu>
|
||||
<Name>Games</Name>
|
||||
<Directory>Game.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Game</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu> <!-- End Games -->
|
||||
|
||||
<!-- Graphics -->
|
||||
<Menu>
|
||||
<Name>Graphics</Name>
|
||||
<Directory>Graphics.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Graphics</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu> <!-- End Graphics -->
|
||||
|
||||
<!-- Internet -->
|
||||
<Menu>
|
||||
<Name>Internet</Name>
|
||||
<Directory>Network.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Network</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu> <!-- End Internet -->
|
||||
|
||||
<!-- Multimedia -->
|
||||
<Menu>
|
||||
<Name>Multimedia</Name>
|
||||
<Directory>AudioVideo.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>AudioVideo</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu> <!-- End Multimedia -->
|
||||
|
||||
<!-- Office -->
|
||||
<Menu>
|
||||
<Name>Office</Name>
|
||||
<Directory>Office.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Office</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu> <!-- End Office -->
|
||||
|
||||
<!-- System Tools-->
|
||||
<Menu>
|
||||
<Name>System</Name>
|
||||
<Directory>System-Tools.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>System</Category>
|
||||
<!-- <Not><Category>Settings</Category></Not> -->
|
||||
<!-- <Not><Category>Game</Category></Not> -->
|
||||
</And>
|
||||
</Include>
|
||||
</Menu> <!-- End System Tools -->
|
||||
|
||||
<!-- Other -->
|
||||
<Menu>
|
||||
<Name>Other</Name>
|
||||
<Directory>X-GNOME-Other.directory</Directory>
|
||||
<OnlyUnallocated/>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Application</Category>
|
||||
<Not><Category>Core</Category></Not>
|
||||
<!-- <Not><Category>Settings</Category></Not> -->
|
||||
<Not><Category>Screensaver</Category></Not>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu> <!-- End Other -->
|
||||
|
||||
|
||||
</Menu> <!-- End Applications -->
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
From 70aed868a4ed76d74eecf3b210ce7bf3098ffab4 Mon Sep 17 00:00:00 2001
|
||||
From: Jacob K <jacobk@disroot.org>
|
||||
Date: Wed, 12 Feb 2025 12:19:24 -0600
|
||||
Subject: [PATCH] Add some lines from Atril's profile to fix the screen reader
|
||||
|
||||
---
|
||||
profiles/usr.bin.pidgin | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/profiles/usr.bin.pidgin b/profiles/usr.bin.pidgin
|
||||
index 5e18702..085301c 100644
|
||||
--- a/profiles/usr.bin.pidgin
|
||||
+++ b/profiles/usr.bin.pidgin
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <abstractions/bash>
|
||||
#include <abstractions/dbus-session>
|
||||
#include <abstractions/dbus-strict>
|
||||
+ #include <abstractions/dbus-accessibility>
|
||||
#include <abstractions/dconf>
|
||||
#include <abstractions/enchant>
|
||||
#include <abstractions/gnome>
|
||||
@@ -82,6 +83,13 @@
|
||||
owner @{PROC}/@{pid}/auxv r,
|
||||
owner @{PROC}/@{pid}/fd/ r,
|
||||
|
||||
+ # These lines were copied from Atril's profile to make the screen reader functional
|
||||
+ owner /{,var/}run/user/*/at-spi2-*/ rw,
|
||||
+ owner /{,var/}run/user/*/at-spi2-*/** rw,
|
||||
+ # Allow access to the non-abstract D-Bus socket used by at-spi > 2.42.0
|
||||
+ # https://gitlab.gnome.org/GNOME/at-spi2-core/-/issues/43
|
||||
+ owner /{,var/}run/user/*/at-spi/bus* rw,
|
||||
+
|
||||
# Site-specific additions and overrides. See local/README for details.
|
||||
#include <local/usr.bin.pidgin>
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
Enable restricted dbus configuration usage by pidgin to fix MATE on Noble (Ecne) orca access.
|
||||
|
||||
diff --git a/profiles/usr.bin.pidgin b/profiles/usr.bin.pidgin
|
||||
index 085301c6..78338084 100644
|
||||
--- a/profiles/usr.bin.pidgin
|
||||
+++ b/profiles/usr.bin.pidgin
|
||||
@@ -49,7 +49,7 @@
|
||||
# Uncomment the two following lines if you want to allow Pidgin to update
|
||||
# any DConf setting:
|
||||
# owner @{HOME}/.{cache,config}/dconf/user rw,
|
||||
- # owner /{,var/}run/user/[0-9]*/dconf/user rwk,
|
||||
+ owner /{,var/}run/user/[0-9]*/dconf/user rwk,
|
||||
|
||||
/{usr/,}bin/dash rix,
|
||||
/{usr/,}bin/which rix,
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
diff --git a/profiles/apparmor.d/abrowser b/profiles/apparmor.d/abrowser
|
||||
index c4b6337f..8a3ac9ec 100644
|
||||
--- a/profiles/apparmor.d/abrowser
|
||||
+++ b/profiles/apparmor.d/abrowser
|
||||
@@ -4,9 +4,9 @@
|
||||
abi <abi/4.0>,
|
||||
include <tunables/global>
|
||||
|
||||
-profile firefox /{usr/lib/firefox{,-esr,-beta,-devedition,-nightly},opt/firefox}/firefox{,-esr,-bin} flags=(unconfined) {
|
||||
+profile abrowser /{usr/lib/abrowser{,-esr,-beta,-devedition,-nightly},opt/abrowser}/abrowser{,-esr,-bin} flags=(unconfined) {
|
||||
userns,
|
||||
|
||||
# Site-specific additions and overrides. See local/README for details.
|
||||
- include if exists <local/firefox>
|
||||
+ include if exists <local/abrowser>
|
||||
}
|
||||
diff --git a/profiles/apparmor.d/icedove b/profiles/apparmor.d/icedove
|
||||
index 060eb24d..667b1674 100644
|
||||
--- a/profiles/apparmor.d/icedove
|
||||
+++ b/profiles/apparmor.d/icedove
|
||||
@@ -4,9 +4,9 @@
|
||||
abi <abi/4.0>,
|
||||
include <tunables/global>
|
||||
|
||||
-profile thunderbird /usr/bin/thunderbird flags=(unconfined) {
|
||||
+profile icedove /usr/bin/icedove flags=(unconfined) {
|
||||
userns,
|
||||
|
||||
# Site-specific additions and overrides. See local/README for details.
|
||||
- include if exists <local/thunderbird>
|
||||
+ include if exists <local/icedove>
|
||||
}
|
||||
diff --git a/debian/apparmor.install b/debian/apparmor.install
|
||||
index 79c8700e..2971e426 100644
|
||||
--- a/debian/apparmor.install
|
||||
+++ b/debian/apparmor.install
|
||||
@@ -68,6 +68,7 @@ etc/apparmor.d/sbuild-update
|
||||
etc/apparmor.d/sbuild-upgrade
|
||||
etc/apparmor.d/slirp4netns
|
||||
etc/apparmor.d/stress-ng
|
||||
+etc/apparmor.d/icedove
|
||||
etc/apparmor.d/thunderbird
|
||||
etc/apparmor.d/toybox
|
||||
etc/apparmor.d/trinity
|
||||
@@ -83,6 +84,7 @@ etc/apparmor.d/1password
|
||||
etc/apparmor.d/Discord
|
||||
etc/apparmor.d/MongoDB_Compass
|
||||
etc/apparmor.d/code
|
||||
+etc/apparmor.d/abrowser
|
||||
etc/apparmor.d/firefox
|
||||
etc/apparmor.d/github-desktop
|
||||
etc/apparmor.d/obsidian
|
||||
|
|
@ -1,91 +0,0 @@
|
|||
diff --git a/profiles/apparmor/profiles/extras/abrowser b/profiles/apparmor/profiles/extras/abrowser
|
||||
index c7b4aa7c..ed8f01c5 100644
|
||||
--- a/profiles/apparmor/profiles/extras/abrowser
|
||||
+++ b/profiles/apparmor/profiles/extras/abrowser
|
||||
@@ -14,7 +14,7 @@ abi <abi/4.0>,
|
||||
include <tunables/global>
|
||||
|
||||
# Declare some variables to help with variants
|
||||
-@{MOZ_APP_NAME}=firefox{,-esr}
|
||||
+@{MOZ_APP_NAME}=abrowser{,-esr}
|
||||
@{MOZ_LIBDIR}=/usr/lib/@{MOZ_APP_NAME}{,-[0-9]*}
|
||||
@{MOZ_ADDONDIR}=/usr/lib/{@{MOZ_APP_NAME},xulrunner}-addons
|
||||
|
||||
@@ -22,7 +22,7 @@ include <tunables/global>
|
||||
# /usr/lib/firefox-4.0b8/firefox
|
||||
# but not:
|
||||
# /usr/lib/firefox-4.0b8/firefox.sh
|
||||
-profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} {
|
||||
+profile abrowser @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} {
|
||||
include <abstractions/audio>
|
||||
include <abstractions/cups-client>
|
||||
include <abstractions/dbus-strict>
|
||||
@@ -144,8 +144,8 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} {
|
||||
/etc/wildmidi/wildmidi.cfg r,
|
||||
|
||||
# firefox specific
|
||||
- /etc/firefox*/ r,
|
||||
- /etc/firefox*/** r,
|
||||
+ /etc/abrowser*/ r,
|
||||
+ /etc/abrowser*/** r,
|
||||
/etc/xul-ext/** r,
|
||||
/etc/xulrunner{,-[0-9]*}/ r,
|
||||
/etc/xulrunner{,-[0-9]*}/** r,
|
||||
@@ -234,12 +234,12 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} {
|
||||
owner @{HOME}/.thumbnails/*/*.png r,
|
||||
|
||||
# per-user firefox configuration
|
||||
- owner @{HOME}/.{firefox,mozilla}/ rw,
|
||||
- owner @{HOME}/.{firefox,mozilla}/** rw,
|
||||
- owner @{HOME}/.{firefox,mozilla}/**/*.{db,parentlock,sqlite}* k,
|
||||
- owner @{HOME}/.{firefox,mozilla}/plugins/** rm,
|
||||
- owner @{HOME}/.{firefox,mozilla}/**/plugins/** rm,
|
||||
- owner @{HOME}/.gnome2/firefox* rwk,
|
||||
+ owner @{HOME}/.{abrowser,mozilla}/ rw,
|
||||
+ owner @{HOME}/.{abrowser,mozilla}/** rw,
|
||||
+ owner @{HOME}/.{abrowser,mozilla}/**/*.{db,parentlock,sqlite}* k,
|
||||
+ owner @{HOME}/.{abrowser,mozilla}/plugins/** rm,
|
||||
+ owner @{HOME}/.{abrowser,mozilla}/**/plugins/** rm,
|
||||
+ owner @{HOME}/.gnome2/abrowser* rwk,
|
||||
owner @{HOME}/.cache/mozilla/{,@{MOZ_APP_NAME}/} rw,
|
||||
owner @{HOME}/.cache/mozilla/@{MOZ_APP_NAME}/** rw,
|
||||
owner @{HOME}/.cache/mozilla/@{MOZ_APP_NAME}/**/*.sqlite k,
|
||||
@@ -440,7 +440,7 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} {
|
||||
owner @{HOME}/.mozilla/**/extensions/** mixr,
|
||||
|
||||
# Widevine CDM plugin (LP: #1777070)
|
||||
- owner @{HOME}/.mozilla/firefox/*/gmp-widevinecdm/*/libwidevinecdm.so m,
|
||||
+ owner @{HOME}/.mozilla/abrowser/*/gmp-widevinecdm/*/libwidevinecdm.so m,
|
||||
|
||||
deny @{MOZ_LIBDIR}/update.test w,
|
||||
deny /usr/lib/mozilla/extensions/**/ w,
|
||||
@@ -458,7 +458,7 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} {
|
||||
|
||||
/usr/bin/lsb_release Pxr -> lsb_release,
|
||||
|
||||
- # These should be started outside of Firefox
|
||||
+ # These should be started outside of abrowser
|
||||
deny /usr/bin/dbus-launch x,
|
||||
deny /usr/bin/speech-dispatcher x,
|
||||
|
||||
@@ -466,6 +466,6 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} {
|
||||
include if exists <abstractions/ubuntu-browsers.d/firefox>
|
||||
|
||||
# Site-specific additions and overrides. See local/README for details.
|
||||
- include if exists <local/usr.bin.firefox>
|
||||
- include if exists <local/firefox>
|
||||
+ include if exists <local/usr.bin.abrowser>
|
||||
+ include if exists <local/abrowser>
|
||||
}
|
||||
diff --git a/debian/apparmor-profiles.install b/debian/apparmor-profiles.install
|
||||
index d12ab262..a6ea623d 100644
|
||||
--- a/debian/apparmor-profiles.install
|
||||
+++ b/debian/apparmor-profiles.install
|
||||
@@ -86,6 +86,7 @@ usr/share/apparmor/extra-profiles/usr.lib.GConf.2.gconfd-2
|
||||
usr/share/apparmor/extra-profiles/usr.lib.RealPlayer10.realplay
|
||||
usr/share/apparmor/extra-profiles/usr.lib.bonobo.bonobo-activation-server
|
||||
usr/share/apparmor/extra-profiles/usr.lib.evolution-data-server.evolution-data-server-1.10
|
||||
+usr/share/apparmor/extra-profiles/abrowser
|
||||
usr/share/apparmor/extra-profiles/firefox
|
||||
usr/share/apparmor/extra-profiles/firefox.sh
|
||||
usr/share/apparmor/extra-profiles/usr.lib.firefox.mozilla-xremote-client
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
diff --git a/profiles/apparmor/profiles/extras/firefox.sh b/profiles/apparmor/profiles/extras/firefox.sh
|
||||
index fb75c5b6..83a7404c 100644
|
||||
--- a/profiles/apparmor/profiles/extras/firefox.sh
|
||||
+++ b/profiles/apparmor/profiles/extras/firefox.sh
|
||||
@@ -22,3 +22,22 @@ profile firefox.sh /usr/lib/firefox/firefox.sh {
|
||||
# Site-specific additions and overrides. See local/README for details.
|
||||
include if exists <local/firefox.sh>
|
||||
}
|
||||
+
|
||||
+profile firefox.sh /usr/lib/abrowser/firefox.sh {
|
||||
+ include <abstractions/base>
|
||||
+ include <abstractions/bash>
|
||||
+ include <abstractions/consoles>
|
||||
+
|
||||
+ deny capability sys_ptrace,
|
||||
+
|
||||
+ /{usr/,}bin/basename rix,
|
||||
+ /{usr/,}bin/bash rix,
|
||||
+ /{usr/,}bin/grep rix,
|
||||
+ /etc/magic r,
|
||||
+ /usr/bin/file rix,
|
||||
+ /usr/lib/abrowser/abrowser px,
|
||||
+ /usr/share/misc/magic.mgc r,
|
||||
+
|
||||
+ # Site-specific additions and overrides. See local/README for details.
|
||||
+ include if exists <local/firefox.sh>
|
||||
+}
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
diff --git a/profiles/apparmor.d/transmission b/profiles/apparmor.d/transmission
|
||||
index 6cd67adf..6aa4214a 100644
|
||||
--- a/profiles/apparmor.d/transmission
|
||||
+++ b/profiles/apparmor.d/transmission
|
||||
@@ -5,7 +5,7 @@ abi <abi/4.0>,
|
||||
|
||||
include <tunables/global>
|
||||
|
||||
-profile transmission-daemon /usr/bin/transmission-daemon flags=(complain) {
|
||||
+profile transmission-daemon /usr/bin/transmission-daemon flags=(complain,attach_disconnected) {
|
||||
# Don't use abstractions/transmission-common here, as the
|
||||
# access needed is narrower than the user applications
|
||||
include <abstractions/base>
|
||||
@@ -17,6 +17,8 @@ profile transmission-daemon /usr/bin/transmission-daemon flags=(complain) {
|
||||
network inet stream,
|
||||
network inet6 stream,
|
||||
|
||||
+ /usr/bin/transmission-daemon mr,
|
||||
+
|
||||
owner @{PROC}/@{pid}/mounts r,
|
||||
@{PROC}/sys/kernel/random/uuid r,
|
||||
|
||||
@@ -42,17 +44,21 @@ profile transmission-cli /usr/bin/transmission-cli flags=(complain) {
|
||||
include <abstractions/transmission-common>
|
||||
include <abstractions/consoles>
|
||||
|
||||
+ /usr/bin/transmission-cli mr,
|
||||
+
|
||||
# Site-specific additions and overrides. See local/README for details.
|
||||
include if exists <local/transmission>
|
||||
include if exists <local/transmission-cli>
|
||||
}
|
||||
|
||||
-profile transmission-gtk /usr/bin/transmission-gtk flags=(complain) {
|
||||
+profile transmission-gtk /usr/bin/transmission-gtk flags=(complain,attach_disconnected) {
|
||||
include <abstractions/transmission-common>
|
||||
include <abstractions/dbus-session-strict>
|
||||
include <abstractions/dconf>
|
||||
include <abstractions/gnome>
|
||||
|
||||
+ /usr/bin/transmission-gtk mr,
|
||||
+
|
||||
owner @{run}/user/*/dconf/user w,
|
||||
|
||||
# Site-specific additions and overrides. See local/README for details.
|
||||
@@ -70,6 +76,8 @@ profile transmission-qt /usr/bin/transmission-qt flags=(complain) {
|
||||
include <abstractions/qt5>
|
||||
include <abstractions/qt5-settings-write>
|
||||
|
||||
+ /usr/bin/transmission-qt mr,
|
||||
+
|
||||
# Site-specific additions and overrides. See local/README for details.
|
||||
include if exists <local/transmission>
|
||||
include if exists <local/transmission-qt>
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
############# config ##################
|
||||
#
|
||||
# set base_path /var/spool/apt-mirror
|
||||
#
|
||||
# set mirror_path $base_path/mirror
|
||||
# set skel_path $base_path/skel
|
||||
# set var_path $base_path/var
|
||||
# set cleanscript $var_path/clean.sh
|
||||
# set defaultarch <running host architecture>
|
||||
# set postmirror_script $var_path/postmirror.sh
|
||||
# set run_postmirror 0
|
||||
set nthreads 20
|
||||
set _tilde 0
|
||||
#
|
||||
############# end config ##############
|
||||
|
||||
deb http://archive.trisquel.org/trisquel @CODENAME@ main
|
||||
deb http://archive.trisquel.org/trisquel @CODENAME@-security main
|
||||
deb http://archive.trisquel.org/trisquel @CODENAME@-updates main
|
||||
deb http://archive.trisquel.org/trisquel @CODENAME@-backports main
|
||||
|
||||
deb-src http://archive.trisquel.org/trisquel @CODENAME@ main
|
||||
deb-src http://archive.trisquel.org/trisquel @CODENAME@-security main
|
||||
deb-src http://archive.trisquel.org/trisquel @CODENAME@-updates main
|
||||
deb-src http://archive.trisquel.org/trisquel @CODENAME@-backports main
|
||||
|
||||
clean http://archive.trisquel.org/trisquel
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
diff --git a/debian/apt-mirror-setup.templates b/debian/apt-mirror-setup.templates
|
||||
index 85baf176..6b330b32 100644
|
||||
--- a/debian/apt-mirror-setup.templates
|
||||
+++ b/debian/apt-mirror-setup.templates
|
||||
@@ -3,45 +3,7 @@ Type: text
|
||||
# :sl1:
|
||||
_Description: Scanning the mirror...
|
||||
|
||||
-Template: apt-setup/non-free-firmware
|
||||
-Type: boolean
|
||||
-Default: false
|
||||
-# :sl5:
|
||||
-_Description: Use non-free firmware?
|
||||
- Firmware is a kind of software providing low-level control of certain
|
||||
- hardware components (such as Wi-Fi cards or audio chipsets), which may not
|
||||
- function fully or at all without it.
|
||||
- .
|
||||
- Although not at all part of Debian, some non-free firmware has been made to
|
||||
- work with Debian. This firmware has varying licenses which restrict your
|
||||
- freedoms to use, modify, or share the software, and generally does not have
|
||||
- source forms that you may study.
|
||||
- .
|
||||
- Please choose whether you want to have it available anyway.
|
||||
|
||||
-Template: apt-setup/non-free
|
||||
-Type: boolean
|
||||
-Default: false
|
||||
-# :sl1:
|
||||
-_Description: Use non-free software?
|
||||
- Some non-free software has been made to work with Debian. Though this
|
||||
- software is not at all a part of Debian, standard Debian tools can be used
|
||||
- to install it. This software has varying licenses which may prevent you
|
||||
- from using, modifying, or sharing it.
|
||||
- .
|
||||
- Please choose whether you want to have it available anyway.
|
||||
-
|
||||
-Template: apt-setup/contrib
|
||||
-Type: boolean
|
||||
-Default: false
|
||||
-# :sl1:
|
||||
-_Description: Use contrib software?
|
||||
- Some additional software has been made to work with Debian. Though this
|
||||
- software is free, it depends on non-free software for its operation. This
|
||||
- software is not a part of Debian, but standard Debian tools can be
|
||||
- used to install it.
|
||||
- .
|
||||
- Please choose whether you want this software to be made available to you.
|
||||
|
||||
Template: apt-setup/mirror/error
|
||||
Type: select
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
<!-- details about the keys used by the distribution -->
|
||||
<!ENTITY keyring-distro "Trisquel">
|
||||
<!ENTITY keyring-package "<package>trisquel-keyring</package>">
|
||||
<!ENTITY keyring-filename "<filename>/usr/share/keyrings/trisquel-archive-keyring.gpg</filename>">
|
||||
<!ENTITY keyring-removed-filename "<filename>/usr/share/keyrings/trisquel-archive-removed-keys.gpg</filename>">
|
||||
<!ENTITY keyring-master-filename "/usr/share/keyrings/trisquel-master-keyring.gpg">
|
||||
<!ENTITY keyring-uri "http://archive.trisquel.org/trisquel/trisquel-archive-signkey.gpg">
|
||||
|
||||
<!ENTITY sourceslist-list-format "deb http://archive.trisquel.org/trisquel &trisquel-codename; main
|
||||
deb http://archive.trisquel.org/trisquel &trisquel-codename;-security main
|
||||
deb http://archive.trisquel.org/trisquel &trisquel-codename;-updates main">
|
||||
<!ENTITY sourceslist-sources-format "Types: deb
|
||||
URIs: http://archive.trisquel.org/trisquel
|
||||
Suites: &trisquel-codename; &trisquel-codename;-updates
|
||||
Components: main
|
||||
|
||||
Types: deb
|
||||
URIs: http://archive.trisquel.org/trisquel
|
||||
Suites: &trisquel-codename;-security
|
||||
Components: main">
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
// The phased updates system from Ubuntu does not apply
|
||||
// correctly to our repositories and should be disabled.
|
||||
Update-Manager::Always-Include-Phased-Updates "True";
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# See sources.list(5) manpage for more information
|
||||
# Remember that CD-ROMs, DVDs and such are managed through the apt-cdrom tool.
|
||||
deb http://archive.trisquel.org/trisquel &trisquel-codename; main
|
||||
deb-src http://archive.trisquel.org/trisquel &trisquel-codename; main
|
||||
|
||||
deb http://archive.trisquel.org/trisquel &trisquel-codename;-security main
|
||||
deb-src http://archive.trisquel.org/trisquel &trisquel-codename;-security main
|
||||
|
||||
deb http://archive.trisquel.org/trisquel &trisquel-codename;-updates main
|
||||
deb-src http://archive.trisquel.org/trisquel &trisquel-codename;-updates main
|
||||
|
Before Width: | Height: | Size: 718 B |
|
Before Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 3 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
|
@ -1,131 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<schemalist gettext-domain="arctica-greeter">
|
||||
<schema id="org.ArcticaProject.arctica-greeter" path="/org/ArcticaProject/arctica-greeter/">
|
||||
<key name="background" type="s">
|
||||
<default>'/usr/share/backgrounds/aramo.jpg'</default>
|
||||
<summary>Background file to use, either an image path or a color (e.g. #772953)</summary>
|
||||
</key>
|
||||
<key name="background-color" type="s">
|
||||
<default>'#000000'</default>
|
||||
<summary>Background color (e.g. #772953), set before wallpaper is seen</summary>
|
||||
</key>
|
||||
<key name="togglebox-font-fgcolor" type="s">
|
||||
<default>'#A0A0A0'</default>
|
||||
<summary>Font foreground color (e.g. #A0A0A0) for selected session names in session list</summary>
|
||||
</key>
|
||||
<key name="togglebox-button-bgcolor" type="s">
|
||||
<default>'#2F70C6'</default>
|
||||
<summary>Font foreground color (e.g. #202020) for selected session names in session list</summary>
|
||||
</key>
|
||||
<key name="draw-user-backgrounds" type="b">
|
||||
<default>true</default>
|
||||
<summary>Whether to draw user backgrounds</summary>
|
||||
</key>
|
||||
<key name="draw-grid" type="b">
|
||||
<default>false</default>
|
||||
<summary>Whether to draw an overlay grid</summary>
|
||||
</key>
|
||||
<key name="show-hostname" type="b">
|
||||
<default>true</default>
|
||||
<summary>Whether to show the hostname in the menubar</summary>
|
||||
</key>
|
||||
<key name="logo" type="s">
|
||||
<default>'/usr/share/arctica-greeter/logo.png'</default>
|
||||
<summary>Logo file to use</summary>
|
||||
</key>
|
||||
<key name="theme-name" type="s">
|
||||
<default>'Trisquel-dark'</default>
|
||||
<summary>GTK+ theme to use</summary>
|
||||
</key>
|
||||
<key name="icon-theme-name" type="s">
|
||||
<default>'trisquel'</default>
|
||||
<summary>Icon theme to use</summary>
|
||||
</key>
|
||||
<key name="font-name" type="s">
|
||||
<default>'Sans 11'</default>
|
||||
<summary>Font to use</summary>
|
||||
</key>
|
||||
<key name="xft-antialias" type="b">
|
||||
<default>true</default>
|
||||
<summary>Whether to antialias Xft fonts</summary>
|
||||
</key>
|
||||
<key name="xft-dpi" type="d">
|
||||
<default>96</default>
|
||||
<summary>Resolution for Xft in dots per inch</summary>
|
||||
</key>
|
||||
<key name="xft-hintstyle" type="s">
|
||||
<choices>
|
||||
<choice value='hintnone'/>
|
||||
<choice value='hintslight'/>
|
||||
<choice value='hintmedium'/>
|
||||
<choice value='hintfull'/>
|
||||
</choices>
|
||||
<default>'hintslight'</default>
|
||||
<summary>What degree of hinting to use</summary>
|
||||
</key>
|
||||
<key name="xft-rgba" type="s">
|
||||
<choices>
|
||||
<choice value='none'/>
|
||||
<choice value='rgb'/>
|
||||
<choice value='bgr'/>
|
||||
<choice value='vrgb'/>
|
||||
<choice value='vbgr'/>
|
||||
</choices>
|
||||
<default>'rgb'</default>
|
||||
<summary>Type of subpixel antialiasing</summary>
|
||||
</key>
|
||||
<key name="onscreen-keyboard" type="b">
|
||||
<default>false</default>
|
||||
<summary>Whether to enable the onscreen keyboard</summary>
|
||||
</key>
|
||||
<key name="high-contrast" type="b">
|
||||
<default>false</default>
|
||||
<summary>Whether to use a high contrast theme</summary>
|
||||
</key>
|
||||
<key name="screen-reader" type="b">
|
||||
<default>false</default>
|
||||
<summary>Whether to enable the screen reader</summary>
|
||||
</key>
|
||||
<key name="play-ready-sound" type="b">
|
||||
<default>true</default>
|
||||
<summary>Whether to play sound when greeter is ready</summary>
|
||||
</key>
|
||||
<key name="indicators" type="as">
|
||||
<default>['ug-accessibility', 'org.ayatana.indicator.keyboard', 'org.ayatana.indicator.session', 'org.ayatana.indicator.datetime', 'org.ayatana.indicator.power', 'org.ayatana.indicator.sound', 'ayatana-application']</default>
|
||||
<summary>Which indicators to load</summary>
|
||||
</key>
|
||||
<key name="hidden-users" type="as">
|
||||
<default>[]</default>
|
||||
<summary>List of usernames that are hidden until a special key combination is hit</summary>
|
||||
</key>
|
||||
<key name="group-filter" type="as">
|
||||
<default>[]</default>
|
||||
<summary>List of groups that users must be part of to be shown (empty list shows all users)</summary>
|
||||
</key>
|
||||
<key name="idle-timeout" type="i">
|
||||
<default>300</default>
|
||||
<summary>Number of seconds of inactivity before blanking the screen. Set to 0 to never timeout.</summary>
|
||||
</key>
|
||||
<key name="enable-hidpi" type="s">
|
||||
<choices>
|
||||
<choice value='on'/>
|
||||
<choice value='off'/>
|
||||
<choice value='auto'/>
|
||||
</choices>
|
||||
<default>'auto'</default>
|
||||
<summary>Whether to enable HiDPI support</summary>
|
||||
</key>
|
||||
<key name="remote-service-configure-uri" type="s">
|
||||
<default>''</default>
|
||||
<summary>Default FQDN for host offering Remote Logon Service</summary>
|
||||
</key>
|
||||
<key name="activate-numlock" type="b">
|
||||
<default>false</default>
|
||||
<summary>Whether to activate numlock. This features requires the installation of numlockx.</summary>
|
||||
</key>
|
||||
<key name="only-on-monitor" type="s">
|
||||
<default>'auto'</default>
|
||||
<summary>Monitor on which to show the Login GUI</summary>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
||||
|
|
@ -1,699 +0,0 @@
|
|||
diff -ruN a/src/callbacks.c b/src/callbacks.c
|
||||
--- a/src/callbacks.c 2019-08-29 00:18:58.000000000 -0500
|
||||
+++ b/src/callbacks.c 2021-06-27 15:52:48.030388633 -0500
|
||||
@@ -734,32 +734,6 @@
|
||||
}
|
||||
|
||||
void
|
||||
-on_rip_fdkaac_toggled (GtkToggleButton *togglebutton,
|
||||
- gpointer user_data)
|
||||
-{
|
||||
- if (gtk_toggle_button_get_active(togglebutton) && !program_exists("fdkaac"))
|
||||
- {
|
||||
- GtkWidget * dialog;
|
||||
-
|
||||
- dialog = gtk_message_dialog_new(GTK_WINDOW(win_main),
|
||||
- GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
|
||||
- _("%s was not found in your path. Asunder requires it to create %s files. "
|
||||
- "All %s functionality is disabled."),
|
||||
- "'fdkaac'", "AAC", "AAC");
|
||||
- gtk_dialog_run(GTK_DIALOG(dialog));
|
||||
- gtk_widget_destroy(dialog);
|
||||
-
|
||||
- global_prefs->rip_fdkaac = 0;
|
||||
- gtk_toggle_button_set_active(togglebutton, global_prefs->rip_fdkaac);
|
||||
- }
|
||||
-
|
||||
- if (!gtk_toggle_button_get_active(togglebutton))
|
||||
- disable_fdkaac_widgets();
|
||||
- else
|
||||
- enable_fdkaac_widgets();
|
||||
-}
|
||||
-
|
||||
-void
|
||||
on_rip_flac_toggled (GtkToggleButton *togglebutton,
|
||||
gpointer user_data)
|
||||
{
|
||||
diff -ruN a/src/callbacks.h b/src/callbacks.h
|
||||
--- a/src/callbacks.h 2019-08-29 00:18:58.000000000 -0500
|
||||
+++ b/src/callbacks.h 2021-06-27 15:54:41.446511848 -0500
|
||||
@@ -169,10 +169,6 @@
|
||||
gpointer user_data);
|
||||
|
||||
void
|
||||
-on_rip_fdkaac_toggled (GtkToggleButton *togglebutton,
|
||||
- gpointer user_data);
|
||||
-
|
||||
-void
|
||||
on_rip_wavpack_toggled (GtkToggleButton *togglebutton,
|
||||
gpointer user_data);
|
||||
void
|
||||
diff -ruN a/src/interface.c b/src/interface.c
|
||||
--- a/src/interface.c 2019-10-21 07:09:34.000000000 -0500
|
||||
+++ b/src/interface.c 2021-06-27 16:00:02.926827702 -0500
|
||||
@@ -714,57 +714,6 @@
|
||||
NULL);
|
||||
/* END OGG */
|
||||
|
||||
- /* FDK-AAC */
|
||||
- frame3X = gtk_frame_new (NULL);
|
||||
- gtk_frame_set_shadow_type(GTK_FRAME(frame3X), GTK_SHADOW_IN);
|
||||
- gtk_widget_show (frame3X);
|
||||
- gtk_box_pack_start (GTK_BOX (vbox), frame3X, FALSE, FALSE, 0);
|
||||
-
|
||||
- alignment8X = gtk_alignment_new (0.5, 0.5, 1, 1);
|
||||
- gtk_widget_show (alignment8X);
|
||||
- gtk_container_add (GTK_CONTAINER (frame3X), alignment8X);
|
||||
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment8X), 2, 2, 12, 2);
|
||||
-
|
||||
- vbox2X = gtk_vbox_new (FALSE, 0);
|
||||
- gtk_widget_show (vbox2X);
|
||||
- gtk_container_add (GTK_CONTAINER (alignment8X), vbox2X);
|
||||
-
|
||||
- hbox9X = gtk_hbox_new (FALSE, 0);
|
||||
- gtk_widget_show (hbox9X);
|
||||
- gtk_box_pack_start (GTK_BOX (vbox2X), hbox9X, TRUE, TRUE, 0);
|
||||
-
|
||||
- label = gtk_label_new (_("Bitrate"));
|
||||
- gtk_widget_show (label);
|
||||
- gtk_box_pack_start (GTK_BOX (hbox9X), label, FALSE, FALSE, 0);
|
||||
- GLADE_HOOKUP_OBJECT (prefs, label, "fdkaac_bitrate_lbl");
|
||||
-
|
||||
- fdkaac_bitrate = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 14, 1, 1, 1)));
|
||||
- gtk_widget_show (fdkaac_bitrate);
|
||||
- gtk_box_pack_start (GTK_BOX (hbox9X), fdkaac_bitrate, TRUE, TRUE, 5);
|
||||
- gtk_scale_set_draw_value (GTK_SCALE (fdkaac_bitrate), FALSE);
|
||||
- gtk_scale_set_digits (GTK_SCALE (fdkaac_bitrate), 0);
|
||||
- g_signal_connect ((gpointer) fdkaac_bitrate, "value_changed",
|
||||
- G_CALLBACK (on_fdkaac_bitrate_value_changed),
|
||||
- NULL);
|
||||
-
|
||||
- tooltips = gtk_tooltips_new ();
|
||||
- gtk_tooltips_set_tip (tooltips, fdkaac_bitrate, _("Higher bitrate is better quality but also bigger file. Most people use 192Kbps."), NULL);
|
||||
-
|
||||
- char kbps_textX[10];
|
||||
- snprintf(kbps_textX, 10, _("%dKbps"), 32);
|
||||
- label = gtk_label_new (kbps_textX);
|
||||
- gtk_widget_show (label);
|
||||
- gtk_box_pack_start (GTK_BOX (hbox9X), label, FALSE, FALSE, 0);
|
||||
- GLADE_HOOKUP_OBJECT (prefs, label, "fdkaac_bitrate_lbl_2");
|
||||
-
|
||||
- rip_fdkaac = gtk_check_button_new_with_mnemonic (_("AAC (lossy compression)"));
|
||||
- gtk_widget_show (rip_fdkaac);
|
||||
- gtk_frame_set_label_widget (GTK_FRAME (frame3X), rip_fdkaac);
|
||||
- g_signal_connect ((gpointer) rip_fdkaac, "toggled",
|
||||
- G_CALLBACK (on_rip_fdkaac_toggled),
|
||||
- NULL);
|
||||
- /* END FDK-AAC */
|
||||
-
|
||||
/* FLAC */
|
||||
frame5 = gtk_frame_new (NULL);
|
||||
gtk_frame_set_shadow_type(GTK_FRAME(frame5), GTK_SHADOW_IN);
|
||||
@@ -1059,15 +1008,6 @@
|
||||
GLADE_HOOKUP_OBJECT (prefs, rip_monkey, "rip_monkey");
|
||||
/* END MONKEY */
|
||||
|
||||
- //~ expander = gtk_expander_new(_("Proprietary encoders"));
|
||||
- //~ gtk_widget_show (expander);
|
||||
- //~ gtk_box_pack_start (GTK_BOX (vbox), expander, FALSE, FALSE, 0);
|
||||
- //~ GLADE_HOOKUP_OBJECT (prefs, expander, "proprietary_formats_expander");
|
||||
-
|
||||
- //~ hiddenbox = gtk_vbox_new (FALSE, 0);
|
||||
- //~ gtk_widget_show (hiddenbox);
|
||||
- //~ gtk_container_add (GTK_CONTAINER (expander), hiddenbox);
|
||||
-
|
||||
label = gtk_label_new (_("Encode"));
|
||||
gtk_widget_show (label);
|
||||
gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 2), label);
|
||||
@@ -1420,20 +1360,6 @@
|
||||
gtk_widget_set_sensitive(lookup_widget(win_prefs, "bitrate_lbl_2"), TRUE);
|
||||
}
|
||||
|
||||
-void disable_fdkaac_widgets(void)
|
||||
-{
|
||||
- gtk_widget_set_sensitive(lookup_widget(win_prefs, "fdkaac_bitrate_lbl"), FALSE);
|
||||
- gtk_widget_set_sensitive(lookup_widget(win_prefs, "fdkaac_bitrate"), FALSE);
|
||||
- gtk_widget_set_sensitive(lookup_widget(win_prefs, "fdkaac_bitrate_lbl_2"), FALSE);
|
||||
-}
|
||||
-
|
||||
-void enable_fdkaac_widgets(void)
|
||||
-{
|
||||
- gtk_widget_set_sensitive(lookup_widget(win_prefs, "fdkaac_bitrate_lbl"), TRUE);
|
||||
- gtk_widget_set_sensitive(lookup_widget(win_prefs, "fdkaac_bitrate"), TRUE);
|
||||
- gtk_widget_set_sensitive(lookup_widget(win_prefs, "fdkaac_bitrate_lbl_2"), TRUE);
|
||||
-}
|
||||
-
|
||||
void disable_ogg_widgets(void)
|
||||
{
|
||||
gtk_widget_set_sensitive(lookup_widget(win_prefs, "ogg_lbl"), FALSE);
|
||||
@@ -1921,8 +1847,7 @@
|
||||
static const char*
|
||||
GBLcomments =
|
||||
N_("An application to save tracks from an Audio CD \n"
|
||||
-"as WAV, MP3, OGG, FLAC, Wavpack, Opus, Musepack, Monkey's Audio, and/or "
|
||||
-"AAC files.");
|
||||
+"as WAV, MP3, OGG, FLAC, Wavpack, Opus, Musepack, Monkey's Audio files.");
|
||||
|
||||
static const char*
|
||||
GBLcopyright =
|
||||
diff -ruN a/src/interface.h b/src/interface.h
|
||||
--- a/src/interface.h 2019-08-29 00:18:58.000000000 -0500
|
||||
+++ b/src/interface.h 2021-06-27 16:00:37.894859872 -0500
|
||||
@@ -19,8 +19,6 @@
|
||||
void enable_monkey_widgets(void);
|
||||
void disable_musepack_widgets(void);
|
||||
void enable_musepack_widgets(void);
|
||||
-void disable_fdkaac_widgets(void);
|
||||
-void enable_fdkaac_widgets(void);
|
||||
void show_aboutbox (void);
|
||||
void show_completed_dialog(int numOk, int numFailed);
|
||||
void toggle_allow_tracknum(void);
|
||||
diff -ruN a/src/prefs.c b/src/prefs.c
|
||||
--- a/src/prefs.c 2019-08-29 00:18:58.000000000 -0500
|
||||
+++ b/src/prefs.c 2021-06-27 16:07:27.299217038 -0500
|
||||
@@ -127,7 +127,6 @@
|
||||
p->wavpack_bitrate = 3;
|
||||
p->rip_monkey = 0;
|
||||
p->monkey_compression = 2;
|
||||
- p->aac_quality = 60;
|
||||
p->rip_musepack = 0;
|
||||
p->musepack_bitrate = 2;
|
||||
p->rip_opus = 0;
|
||||
@@ -203,8 +201,6 @@
|
||||
gtk_range_set_value(GTK_RANGE(lookup_widget(win_prefs, "wavpack_bitrate_slider")), p->wavpack_bitrate);
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lookup_widget(win_prefs, "rip_monkey")), p->rip_monkey);
|
||||
gtk_range_set_value(GTK_RANGE(lookup_widget(win_prefs, "monkey_compression_slider")), p->monkey_compression);
|
||||
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lookup_widget(win_prefs, "rip_fdkaac")), p->rip_fdkaac);
|
||||
- gtk_range_set_value(GTK_RANGE(lookup_widget(win_prefs, "fdkaac_bitrate")), p->fdkaac_bitrate);
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lookup_widget(win_prefs, "rip_musepack")), p->rip_musepack);
|
||||
gtk_range_set_value(GTK_RANGE(lookup_widget(win_prefs, "musepack_bitrate_slider")), p->musepack_bitrate);
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lookup_widget(win_prefs, "rip_opus")), p->rip_opus);
|
||||
@@ -242,8 +238,6 @@
|
||||
enable_wavpack_widgets(); /* need this to potentially disable hybrid widgets */
|
||||
if( !(p->rip_monkey) )
|
||||
disable_monkey_widgets();
|
||||
- if( !(p->rip_fdkaac) )
|
||||
- disable_fdkaac_widgets();
|
||||
if( !(p->rip_musepack) )
|
||||
disable_musepack_widgets();
|
||||
if (!(p->rip_opus))
|
||||
@@ -304,8 +298,6 @@
|
||||
p->wavpack_bitrate = (int)gtk_range_get_value(GTK_RANGE(lookup_widget(win_prefs, "wavpack_bitrate_slider")));
|
||||
p->rip_monkey = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(win_prefs, "rip_monkey")));
|
||||
p->monkey_compression = (int)gtk_range_get_value(GTK_RANGE(lookup_widget(win_prefs, "monkey_compression_slider")));
|
||||
- p->rip_fdkaac = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(win_prefs, "rip_fdkaac")));
|
||||
- p->fdkaac_bitrate = (int)gtk_range_get_value(GTK_RANGE(lookup_widget(win_prefs, "fdkaac_bitrate")));
|
||||
p->rip_musepack = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(win_prefs, "rip_musepack")));
|
||||
p->musepack_bitrate = (int)gtk_range_get_value(GTK_RANGE(lookup_widget(win_prefs, "musepack_bitrate_slider")));
|
||||
p->rip_opus = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(win_prefs, "rip_opus")));
|
||||
@@ -462,8 +454,6 @@
|
||||
fprintf(config, "%d\n", p->cddb_port_number);
|
||||
fprintf(config, "%d\n", p->rip_monkey);
|
||||
fprintf(config, "%d\n", p->monkey_compression);
|
||||
- fprintf(config, "%s\n", "unused"); /* used to be p->rip_aac */
|
||||
- fprintf(config, "%s\n", "unused"); /* used to be p->aac_quality */
|
||||
fprintf(config, "%d\n", p->rip_musepack);
|
||||
fprintf(config, "%d\n", p->musepack_bitrate);
|
||||
fprintf(config, "%d\n", p->more_formats_expanded);
|
||||
@@ -683,13 +673,7 @@
|
||||
p->track_num_width = read_line_num(fd);
|
||||
if (p->track_num_width < 1 || p->track_num_width > 4)
|
||||
p->track_num_width = 2;
|
||||
-
|
||||
- // this one can be 0
|
||||
- p->rip_fdkaac = read_line_num(fd);
|
||||
-
|
||||
- // this one can be 0
|
||||
- p->fdkaac_bitrate = read_line_num(fd);
|
||||
-
|
||||
+
|
||||
aCharPtr = read_line(fd);
|
||||
if (aCharPtr != NULL)
|
||||
{
|
||||
diff -ruN a/src/prefs.h b/src/prefs.h
|
||||
--- a/src/prefs.h 2019-08-29 00:18:58.000000000 -0500
|
||||
+++ b/src/prefs.h 2021-06-27 16:20:10.544156626 -0500
|
||||
@@ -34,8 +34,6 @@
|
||||
int cddb_port_number;
|
||||
int rip_monkey;
|
||||
int monkey_compression;
|
||||
- int rip_aac; /* no longer used */
|
||||
- int aac_quality; /* no longer used */
|
||||
int rip_musepack;
|
||||
int musepack_bitrate;
|
||||
int more_formats_expanded;
|
||||
diff -ruN a/src/threads.c b/src/threads.c
|
||||
--- a/src/threads.c 2019-08-29 00:18:58.000000000 -0500
|
||||
+++ b/src/threads.c 2021-06-27 16:30:39.049983041 -0500
|
||||
@@ -41,7 +41,6 @@
|
||||
static FILE * playlist_wavpack = NULL;
|
||||
static FILE * playlist_monkey = NULL;
|
||||
static FILE * playlist_musepack = NULL;
|
||||
-static FILE * playlist_aac = NULL;
|
||||
|
||||
/* ripping or encoding, so that can know not to clear the tracklist on eject */
|
||||
bool working;
|
||||
@@ -63,7 +62,6 @@
|
||||
static double wavpack_percent;
|
||||
static double monkey_percent;
|
||||
static double musepack_percent;
|
||||
-static double aac_percent;
|
||||
static int rip_tracks_completed;
|
||||
static int encode_tracks_completed;
|
||||
|
||||
@@ -92,13 +90,11 @@
|
||||
kill(pid, SIGKILL);
|
||||
if ((pid = musepack_pid) != 0)
|
||||
kill(pid, SIGKILL);
|
||||
- if ((pid = fdkaac_pid) != 0)
|
||||
- kill(pid, SIGKILL);
|
||||
|
||||
/* wait until all the worker threads are done */
|
||||
while (cdparanoia_pid != 0 || lame_pid != 0 || oggenc_pid != 0 ||
|
||||
opusenc_pid != 0 || flac_pid != 0 || wavpack_pid != 0 || monkey_pid != 0 ||
|
||||
- musepack_pid != 0 || fdkaac_pid != 0)
|
||||
+ musepack_pid != 0)
|
||||
{
|
||||
debugLog("w1");
|
||||
usleep(100000);
|
||||
@@ -120,8 +116,8 @@
|
||||
gdk_flush();
|
||||
working = false;
|
||||
|
||||
- show_completed_dialog(numCdparanoiaOk + numLameOk + numOggOk + numOpusOk + numFlacOk + numWavpackOk + numMonkeyOk + numMusepackOk + numAacOk,
|
||||
- numCdparanoiaFailed + numLameFailed + numOggFailed + numOpusFailed + numFlacFailed + numWavpackFailed + numMonkeyFailed + numMusepackFailed + numAacFailed);
|
||||
+ show_completed_dialog(numCdparanoiaOk + numLameOk + numOggOk + numOpusOk + numFlacOk + numWavpackOk + numMonkeyOk + numMusepackOk,
|
||||
+ numCdparanoiaFailed + numLameFailed + numOggFailed + numOpusFailed + numFlacFailed + numWavpackFailed + numMonkeyFailed + numMusepackFailed);
|
||||
}
|
||||
|
||||
// spawn needed threads and begin ripping
|
||||
@@ -146,7 +142,6 @@
|
||||
wavpack_percent = 0.0;
|
||||
monkey_percent = 0.0;
|
||||
musepack_percent = 0.0;
|
||||
- aac_percent = 0.0;
|
||||
rip_tracks_completed = 0;
|
||||
encode_tracks_completed = 0;
|
||||
|
||||
@@ -178,7 +173,7 @@
|
||||
// make sure there's at least one format to rip to
|
||||
if (!global_prefs->rip_wav && !global_prefs->rip_mp3 && !global_prefs->rip_ogg && !global_prefs->rip_opus &&
|
||||
!global_prefs->rip_flac && !global_prefs->rip_wavpack && !global_prefs->rip_monkey &&
|
||||
- !global_prefs->rip_musepack && !global_prefs->rip_fdkaac)
|
||||
+ !global_prefs->rip_musepack)
|
||||
{
|
||||
GtkWidget * dialog;
|
||||
dialog = gtk_message_dialog_new(GTK_WINDOW(win_main),
|
||||
@@ -327,14 +322,6 @@
|
||||
|
||||
free(filename);
|
||||
}
|
||||
- if (global_prefs->rip_fdkaac)
|
||||
- {
|
||||
- char * filename = make_filename(prefs_get_music_dir(global_prefs), albumdir, playlist, "m4a.m3u");
|
||||
-
|
||||
- make_playlist(filename, &playlist_aac);
|
||||
-
|
||||
- free(filename);
|
||||
- }
|
||||
}
|
||||
|
||||
free(albumdir);
|
||||
@@ -353,7 +340,6 @@
|
||||
numWavpackFailed = 0;
|
||||
numMonkeyFailed = 0;
|
||||
numMusepackFailed = 0;
|
||||
- numAacFailed = 0;
|
||||
|
||||
numCdparanoiaOk = 0;
|
||||
numLameOk = 0;
|
||||
@@ -363,7 +349,6 @@
|
||||
numWavpackOk = 0;
|
||||
numMonkeyOk = 0;
|
||||
numMusepackOk = 0;
|
||||
- numAacOk = 0;
|
||||
|
||||
ripper = g_thread_create(rip, NULL, TRUE, NULL);
|
||||
encoder = g_thread_create(encode, NULL, TRUE, NULL);
|
||||
@@ -554,9 +539,6 @@
|
||||
if (playlist_musepack)
|
||||
fclose(playlist_musepack);
|
||||
playlist_musepack = NULL;
|
||||
- if (playlist_aac)
|
||||
- fclose(playlist_aac);
|
||||
- playlist_aac = NULL;
|
||||
}
|
||||
|
||||
// the thread that handles encoding WAV files to all other formats
|
||||
@@ -1105,65 +1087,6 @@
|
||||
}
|
||||
free(musepackfilename);
|
||||
}
|
||||
- if (global_prefs->rip_fdkaac)
|
||||
- {
|
||||
- if (aborted)
|
||||
- {
|
||||
- free(albumdir);
|
||||
- free(musicfilename);
|
||||
- free(wavfilename);
|
||||
- free(trackartist_trimmed);
|
||||
- free(tracktitle_trimmed);
|
||||
-
|
||||
- free(trackartist);
|
||||
- free(tracktitle);
|
||||
- free(tracktime);
|
||||
-
|
||||
- free(album_artist);
|
||||
- free(album_title);
|
||||
- free(album_genre);
|
||||
- free(album_year);
|
||||
- free(album_artist_trimmed);
|
||||
- free(album_title_trimmed);
|
||||
- free(album_genre_trimmed);
|
||||
-
|
||||
- close_playlists();
|
||||
- return NULL;
|
||||
- }
|
||||
-
|
||||
- char * aacfilename = make_filename(prefs_get_music_dir(global_prefs), albumdir, musicfilename, "m4a");
|
||||
- snprintf(logStr, 1024, "Encoding track %d to \"%s\"\n", tracknum, aacfilename);
|
||||
- debugLog(logStr);
|
||||
-
|
||||
- rc = stat(aacfilename, &statStruct);
|
||||
- if(rc == 0)
|
||||
- {
|
||||
- gdk_threads_enter();
|
||||
- if(confirmOverwrite(aacfilename))
|
||||
- doEncode = true;
|
||||
- else
|
||||
- doEncode = false;
|
||||
- gdk_threads_leave();
|
||||
- }
|
||||
- else
|
||||
- doEncode = true;
|
||||
-
|
||||
- if(doEncode)
|
||||
- {
|
||||
- fdkaac(tracknum, trackartist, album_title, tracktitle, album_genre, album_year,
|
||||
- wavfilename, aacfilename,
|
||||
- global_prefs->fdkaac_bitrate,
|
||||
- &aac_percent);
|
||||
- }
|
||||
-
|
||||
- if (playlist_aac)
|
||||
- {
|
||||
- fprintf(playlist_aac, "#EXTINF:%d,%s - %s\n", (min*60)+sec, trackartist, tracktitle);
|
||||
- fprintf(playlist_aac, "%s\n", basename(aacfilename));
|
||||
- fflush(playlist_aac);
|
||||
- }
|
||||
- free(aacfilename);
|
||||
- }
|
||||
if (!global_prefs->rip_wav)
|
||||
{
|
||||
snprintf(logStr, 1024, "Removing track %d WAV file\n", tracknum);
|
||||
@@ -1196,7 +1119,6 @@
|
||||
wavpack_percent = 0.0;
|
||||
monkey_percent = 0.0;
|
||||
musepack_percent = 0.0;
|
||||
- aac_percent = 0.0;
|
||||
encode_tracks_completed++;
|
||||
}
|
||||
|
||||
@@ -1241,7 +1163,7 @@
|
||||
/* wait until all the worker threads are done */
|
||||
while (cdparanoia_pid != 0 || lame_pid != 0 || oggenc_pid != 0 ||
|
||||
opusenc_pid != 0 || flac_pid != 0 || wavpack_pid != 0 || monkey_pid != 0 ||
|
||||
- musepack_pid != 0 || fdkaac_pid != 0)
|
||||
+ musepack_pid != 0)
|
||||
{
|
||||
debugLog("w2");
|
||||
usleep(100000);
|
||||
@@ -1260,8 +1182,8 @@
|
||||
eject_disc(global_prefs->cdrom);
|
||||
}
|
||||
|
||||
- show_completed_dialog(numCdparanoiaOk + numLameOk + numOggOk + numOpusOk + numFlacOk + numWavpackOk + numMonkeyOk + numMusepackOk + numAacOk,
|
||||
- numCdparanoiaFailed + numLameFailed + numOggFailed + numOpusFailed + numFlacFailed + numWavpackFailed + numMonkeyFailed + numMusepackFailed + numAacFailed);
|
||||
+ show_completed_dialog(numCdparanoiaOk + numLameOk + numOggOk + numOpusOk + numFlacOk + numWavpackOk + numMonkeyOk + numMusepackOk,
|
||||
+ numCdparanoiaFailed + numLameFailed + numOggFailed + numOpusFailed + numFlacFailed + numWavpackFailed + numMonkeyFailed + numMusepackFailed);
|
||||
gdk_threads_leave();
|
||||
|
||||
return NULL;
|
||||
@@ -1286,8 +1208,6 @@
|
||||
parts++;
|
||||
if(global_prefs->rip_musepack)
|
||||
parts++;
|
||||
- if(global_prefs->rip_fdkaac)
|
||||
- parts++;
|
||||
|
||||
gdk_threads_enter();
|
||||
GtkProgressBar * progress_total = GTK_PROGRESS_BAR(lookup_widget(win_ripping, "progress_total"));
|
||||
@@ -1331,7 +1251,7 @@
|
||||
{
|
||||
pencode = ((double)encode_tracks_completed/(double)tracks_to_rip) +
|
||||
((mp3_percent+ogg_percent+flac_percent+wavpack_percent+monkey_percent
|
||||
- +opus_percent+musepack_percent+aac_percent) /
|
||||
+ +opus_percent+musepack_percent) /
|
||||
(parts-1) / tracks_to_rip);
|
||||
snprintf(sencode, 13, "%d%% (%d/%d)", (int)(pencode*100),
|
||||
(encode_tracks_completed < tracks_to_rip)
|
||||
@@ -1370,7 +1290,7 @@
|
||||
"monkey %.2lf%% musepack %.2lf%% aac %.2lf%%; prip %.2lf%% pencode %.2lf%%\n",
|
||||
rip_tracks_completed, rip_percent*100, encode_tracks_completed,
|
||||
mp3_percent*100, ogg_percent*100, opus_percent*100, flac_percent*100, wavpack_percent*100,
|
||||
- monkey_percent*100,musepack_percent*100,aac_percent*100,
|
||||
+ monkey_percent*100,musepack_percent*100,
|
||||
prip*100, pencode*100);
|
||||
debugLog(logStr);
|
||||
}
|
||||
diff -ruN a/src/wrappers.c b/src/wrappers.c
|
||||
--- a/src/wrappers.c 2019-10-21 07:05:37.000000000 -0500
|
||||
+++ b/src/wrappers.c 2021-06-27 16:35:20.690511295 -0500
|
||||
@@ -37,7 +37,6 @@
|
||||
pid_t wavpack_pid = 0;
|
||||
pid_t monkey_pid = 0;
|
||||
pid_t musepack_pid = 0;
|
||||
-pid_t fdkaac_pid = 0;
|
||||
|
||||
int numCdparanoiaFailed;
|
||||
int numLameFailed;
|
||||
@@ -47,7 +46,6 @@
|
||||
int numWavpackFailed;
|
||||
int numMonkeyFailed;
|
||||
int numMusepackFailed;
|
||||
-int numAacFailed;
|
||||
|
||||
int numCdparanoiaOk;
|
||||
int numLameOk;
|
||||
@@ -57,7 +55,6 @@
|
||||
int numWavpackOk;
|
||||
int numMonkeyOk;
|
||||
int numMusepackOk;
|
||||
-int numAacOk;
|
||||
|
||||
int numchildren = 0;
|
||||
static bool waitBeforeSigchld;
|
||||
@@ -144,11 +141,6 @@
|
||||
musepack_pid = 0;
|
||||
numMusepackFailed++;
|
||||
}
|
||||
- else if (pid == fdkaac_pid)
|
||||
- {
|
||||
- fdkaac_pid = 0;
|
||||
- numAacFailed++;
|
||||
- }
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -193,11 +185,6 @@
|
||||
musepack_pid = 0;
|
||||
numMusepackOk++;
|
||||
}
|
||||
- else if (pid == fdkaac_pid)
|
||||
- {
|
||||
- fdkaac_pid = 0;
|
||||
- numAacOk++;
|
||||
- }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1345,126 +1332,3 @@
|
||||
*progress = 1;
|
||||
}
|
||||
|
||||
-void fdkaac(int tracknum,
|
||||
- const char * artist,
|
||||
- const char * album,
|
||||
- const char * title,
|
||||
- const char * genre,
|
||||
- const char * year,
|
||||
- const char* wavfilename,
|
||||
- const char* aacfilename,
|
||||
- int bitrate,
|
||||
- double* progress)
|
||||
-{
|
||||
- const char* args[21];
|
||||
- char bitrate_text[4];
|
||||
- int fd;
|
||||
- int pos;
|
||||
-
|
||||
- pos = 0;
|
||||
- args[pos++] = "fdkaac";
|
||||
-
|
||||
- /* fdkaac has a VBR option but it's unsupported */
|
||||
- args[pos++] = "-m";
|
||||
- args[pos++] = "0";
|
||||
- args[pos++] = "-b";
|
||||
- snprintf(bitrate_text, 4, "%d", int_to_bitrate(bitrate, 0));
|
||||
- args[pos++] = bitrate_text;
|
||||
-
|
||||
-
|
||||
- char * track = NULL;
|
||||
- if (tracknum > 0 && asprintf(&track, "%d", tracknum) > 0)
|
||||
- {
|
||||
- args[pos++] = "--track";
|
||||
- args[pos++] = track;
|
||||
- }
|
||||
-
|
||||
- if ((title != NULL) && (strlen(title) > 0))
|
||||
- {
|
||||
- args[pos++] = "--title";
|
||||
- args[pos++] = title;
|
||||
- }
|
||||
-
|
||||
- if ((artist != NULL) && (strlen(artist) > 0))
|
||||
- {
|
||||
- args[pos++] = "--artist";
|
||||
- args[pos++] = artist;
|
||||
- }
|
||||
-
|
||||
- if ((album != NULL) && (strlen(album) > 0))
|
||||
- {
|
||||
- args[pos++] = "--album";
|
||||
- args[pos++] = album;
|
||||
- }
|
||||
-
|
||||
- if ((genre != NULL) && (strlen(genre) > 0))
|
||||
- {
|
||||
- args[pos++] = "--genre";
|
||||
- args[pos++] = genre;
|
||||
- }
|
||||
-
|
||||
- if ((year != NULL) && (strlen(year) > 0))
|
||||
- {
|
||||
- args[pos++] = "--date";
|
||||
- args[pos++] = year;
|
||||
- }
|
||||
-
|
||||
- args[pos++] = "-o";
|
||||
- args[pos++] = aacfilename;
|
||||
-
|
||||
- args[pos++] = wavfilename;
|
||||
-
|
||||
- args[pos++] = NULL;
|
||||
-
|
||||
- fd = exec_with_output(args, STDERR_FILENO, &fdkaac_pid, NULL);
|
||||
- free(track);
|
||||
-
|
||||
- int size;
|
||||
- char buf[256];
|
||||
-
|
||||
- do
|
||||
- {
|
||||
- pos = -1;
|
||||
- bool interrupted;
|
||||
- do
|
||||
- {
|
||||
- interrupted = FALSE;
|
||||
-
|
||||
- pos++;
|
||||
- size = read(fd, &buf[pos], 1);
|
||||
-
|
||||
- if (size == -1 && errno == EINTR)
|
||||
- /* signal interrupted read(), try again */
|
||||
- {
|
||||
- pos--;
|
||||
- debugLog("fdkaac() interrupted");
|
||||
- interrupted = TRUE;
|
||||
- }
|
||||
-
|
||||
- } while ((size > 0 && pos < 255 && buf[pos] != '\r' && buf[pos] != '\n') || interrupted);
|
||||
-
|
||||
- buf[pos] = '\0';
|
||||
-
|
||||
- /* We get lines like this:
|
||||
- [28%] 00:14.037/00:49.771 (22x), ETA 00:01.599
|
||||
- */
|
||||
- if ((pos >= 4) && (buf[0] == '[')) {
|
||||
- int percent = 0;
|
||||
- if (sscanf(buf, "[%d%%]", &percent) == 1)
|
||||
- {
|
||||
- *progress = (double) percent / 100.0;
|
||||
- }
|
||||
- }
|
||||
- } while (size > 0);
|
||||
-
|
||||
- close(fd);
|
||||
-
|
||||
- /* don't go on until the signal for the previous call is handled */
|
||||
- while (fdkaac_pid != 0)
|
||||
- {
|
||||
- debugLog("w12\n");
|
||||
- usleep(100000);
|
||||
- }
|
||||
-
|
||||
- *progress = 1;
|
||||
-}
|
||||
diff -ruN a/src/wrappers.h b/src/wrappers.h
|
||||
--- a/src/wrappers.h 2019-08-29 00:18:58.000000000 -0500
|
||||
+++ b/src/wrappers.h 2021-06-27 16:36:17.366606719 -0500
|
||||
@@ -9,7 +9,6 @@
|
||||
extern pid_t wavpack_pid;
|
||||
extern pid_t monkey_pid;
|
||||
extern pid_t musepack_pid;
|
||||
-extern pid_t fdkaac_pid;
|
||||
|
||||
extern int numCdparanoiaFailed;
|
||||
extern int numLameFailed;
|
||||
@@ -19,7 +18,6 @@
|
||||
extern int numWavpackFailed;
|
||||
extern int numMonkeyFailed;
|
||||
extern int numMusepackFailed;
|
||||
-extern int numAacFailed;
|
||||
|
||||
extern int numCdparanoiaOk;
|
||||
extern int numLameOk;
|
||||
@@ -29,7 +27,6 @@
|
||||
extern int numWavpackOk;
|
||||
extern int numMonkeyOk;
|
||||
extern int numMusepackOk;
|
||||
-extern int numAacOk;
|
||||
|
||||
// signal handler to find out when out child has exited
|
||||
void sigchld(int signum);
|
||||
@@ -195,25 +192,3 @@
|
||||
const char * musepackfilename,
|
||||
int quality,
|
||||
double* progress);
|
||||
-
|
||||
-void aac(int tracknum,
|
||||
- const char * artist,
|
||||
- const char * album,
|
||||
- const char * title,
|
||||
- const char * genre,
|
||||
- const char * year,
|
||||
- const char* wavfilename,
|
||||
- const char* aacfilename,
|
||||
- int quality,
|
||||
- double* progress);
|
||||
-
|
||||
-void fdkaac(int tracknum,
|
||||
- const char * artist,
|
||||
- const char * album,
|
||||
- const char * title,
|
||||
- const char * genre,
|
||||
- const char * year,
|
||||
- const char* wavfilename,
|
||||
- const char* aacfilename,
|
||||
- int bitrate,
|
||||
- double* progress);
|
||||
|
|
@ -1,603 +0,0 @@
|
|||
diff -ruN b/src/callbacks.c c/src/callbacks.c
|
||||
--- b/src/callbacks.c 2021-06-27 15:52:48.030388633 -0500
|
||||
+++ c/src/callbacks.c 2021-06-27 16:37:37.266736576 -0500
|
||||
@@ -835,31 +835,6 @@
|
||||
}
|
||||
|
||||
void
|
||||
-on_rip_monkey_toggled (GtkToggleButton *togglebutton,
|
||||
- gpointer user_data)
|
||||
-{
|
||||
- if (gtk_toggle_button_get_active(togglebutton) && !program_exists("mac"))
|
||||
- {
|
||||
- GtkWidget * dialog;
|
||||
- dialog = gtk_message_dialog_new(GTK_WINDOW(win_main),
|
||||
- GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
|
||||
- _("%s was not found in your path. Asunder requires it to create %s files. "
|
||||
- "All %s functionality is disabled."),
|
||||
- "'mac'", "APE", "Monkey's Audio");
|
||||
- gtk_dialog_run(GTK_DIALOG(dialog));
|
||||
- gtk_widget_destroy(dialog);
|
||||
-
|
||||
- global_prefs->rip_monkey = 0;
|
||||
- gtk_toggle_button_set_active(togglebutton, global_prefs->rip_monkey);
|
||||
- }
|
||||
-
|
||||
- if (!gtk_toggle_button_get_active(togglebutton))
|
||||
- disable_monkey_widgets();
|
||||
- else
|
||||
- enable_monkey_widgets();
|
||||
-}
|
||||
-
|
||||
-void
|
||||
on_rip_musepack_toggled (GtkToggleButton *togglebutton,
|
||||
gpointer user_data)
|
||||
{
|
||||
diff -ruN b/src/callbacks.h c/src/callbacks.h
|
||||
--- b/src/callbacks.h 2021-06-27 15:54:41.446511848 -0500
|
||||
+++ c/src/callbacks.h 2021-06-27 16:38:30.334820157 -0500
|
||||
@@ -172,9 +172,6 @@
|
||||
on_rip_wavpack_toggled (GtkToggleButton *togglebutton,
|
||||
gpointer user_data);
|
||||
void
|
||||
-on_rip_monkey_toggled (GtkToggleButton *togglebutton,
|
||||
- gpointer user_data);
|
||||
-void
|
||||
on_rip_musepack_toggled (GtkToggleButton *togglebutton,
|
||||
gpointer user_data);
|
||||
void
|
||||
diff -ruN b/src/interface.c c/src/interface.c
|
||||
--- b/src/interface.c 2021-06-27 16:00:02.926827702 -0500
|
||||
+++ c/src/interface.c 2021-06-27 16:42:14.287154174 -0500
|
||||
@@ -960,53 +960,6 @@
|
||||
GLADE_HOOKUP_OBJECT (prefs, rip_musepack, "rip_musepack");
|
||||
/* END MUSEPACK */
|
||||
|
||||
- /* MONKEY */
|
||||
- GtkWidget* frame8;
|
||||
- GtkWidget* rip_monkey;
|
||||
- GtkWidget* monkeyCompression;
|
||||
- GtkWidget* monkeyVbox;
|
||||
-
|
||||
- frame8 = gtk_frame_new (NULL);
|
||||
- gtk_frame_set_shadow_type(GTK_FRAME(frame8), GTK_SHADOW_IN);
|
||||
- gtk_widget_show (frame8);
|
||||
- gtk_box_pack_start (GTK_BOX (hiddenbox), frame8, FALSE, FALSE, 0);
|
||||
-
|
||||
- alignment11 = gtk_alignment_new (0.5, 0.5, 1, 1);
|
||||
- gtk_widget_show (alignment11);
|
||||
- gtk_container_add (GTK_CONTAINER (frame8), alignment11);
|
||||
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment11), 2, 2, 12, 2);
|
||||
-
|
||||
- monkeyVbox = gtk_vbox_new (FALSE, 0);
|
||||
- gtk_widget_show (monkeyVbox);
|
||||
- gtk_container_add (GTK_CONTAINER (alignment11), monkeyVbox);
|
||||
-
|
||||
- hbox13 = gtk_hbox_new (FALSE, 0);
|
||||
- gtk_widget_show (hbox13);
|
||||
- gtk_box_pack_start (GTK_BOX (monkeyVbox), hbox13, FALSE, FALSE, 0);
|
||||
-
|
||||
- label = gtk_label_new (_("Compression level"));
|
||||
- gtk_widget_show (label);
|
||||
- gtk_box_pack_start (GTK_BOX (hbox13), label, FALSE, FALSE, 0);
|
||||
- GLADE_HOOKUP_OBJECT (prefs, label, "monkey_compression_lbl");
|
||||
-
|
||||
- monkeyCompression = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 5, 1, 1, 1)));
|
||||
- gtk_widget_show (monkeyCompression);
|
||||
- gtk_box_pack_start (GTK_BOX (hbox13), monkeyCompression, TRUE, TRUE, 5);
|
||||
- gtk_scale_set_value_pos (GTK_SCALE (monkeyCompression), GTK_POS_RIGHT);
|
||||
- gtk_scale_set_digits (GTK_SCALE (monkeyCompression), 0);
|
||||
- GLADE_HOOKUP_OBJECT (prefs, monkeyCompression, "monkey_compression_slider");
|
||||
-
|
||||
- tooltips = gtk_tooltips_new ();
|
||||
- gtk_tooltips_set_tip (tooltips, monkeyCompression, _("This does not affect the quality. Higher number means smaller file."), NULL);
|
||||
-
|
||||
- rip_monkey = gtk_check_button_new_with_mnemonic (_("Monkey's Audio (lossless compression)"));
|
||||
- gtk_widget_show (rip_monkey);
|
||||
- gtk_frame_set_label_widget (GTK_FRAME (frame8), rip_monkey);
|
||||
- g_signal_connect ((gpointer) rip_monkey, "toggled",
|
||||
- G_CALLBACK (on_rip_monkey_toggled),
|
||||
- NULL);
|
||||
- GLADE_HOOKUP_OBJECT (prefs, rip_monkey, "rip_monkey");
|
||||
- /* END MONKEY */
|
||||
|
||||
label = gtk_label_new (_("Encode"));
|
||||
gtk_widget_show (label);
|
||||
@@ -1424,18 +1377,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
-void disable_monkey_widgets(void)
|
||||
-{
|
||||
- gtk_widget_set_sensitive(lookup_widget(win_prefs, "monkey_compression_lbl"), FALSE);
|
||||
- gtk_widget_set_sensitive(lookup_widget(win_prefs, "monkey_compression_slider"), FALSE);
|
||||
-}
|
||||
-
|
||||
-void enable_monkey_widgets(void)
|
||||
-{
|
||||
- gtk_widget_set_sensitive(lookup_widget(win_prefs, "monkey_compression_lbl"), TRUE);
|
||||
- gtk_widget_set_sensitive(lookup_widget(win_prefs, "monkey_compression_slider"), TRUE);
|
||||
-}
|
||||
-
|
||||
void disable_musepack_widgets(void)
|
||||
{
|
||||
gtk_widget_set_sensitive(lookup_widget(win_prefs, "musepack_bitrate_lbl"), FALSE);
|
||||
@@ -1847,7 +1788,7 @@
|
||||
static const char*
|
||||
GBLcomments =
|
||||
N_("An application to save tracks from an Audio CD \n"
|
||||
-"as WAV, MP3, OGG, FLAC, Wavpack, Opus, Musepack, Monkey's Audio files.");
|
||||
+"as WAV, MP3, OGG, FLAC, Wavpack, Opus and Musepack audio files.");
|
||||
|
||||
static const char*
|
||||
GBLcopyright =
|
||||
diff -ruN b/src/interface.h c/src/interface.h
|
||||
--- b/src/interface.h 2021-06-27 16:00:37.894859872 -0500
|
||||
+++ c/src/interface.h 2021-06-27 16:42:38.247188440 -0500
|
||||
@@ -15,8 +15,6 @@
|
||||
void enable_opus_widgets(void);
|
||||
void disable_wavpack_widgets(void);
|
||||
void enable_wavpack_widgets(void);
|
||||
-void disable_monkey_widgets(void);
|
||||
-void enable_monkey_widgets(void);
|
||||
void disable_musepack_widgets(void);
|
||||
void enable_musepack_widgets(void);
|
||||
void show_aboutbox (void);
|
||||
diff -ruN b/src/prefs.c c/src/prefs.c
|
||||
--- b/src/prefs.c 2021-06-27 16:07:27.299217038 -0500
|
||||
+++ c/src/prefs.c 2021-06-27 16:49:01.759711018 -0500
|
||||
@@ -125,8 +125,6 @@
|
||||
p->wavpack_compression = 1;
|
||||
p->wavpack_hybrid = 1;
|
||||
p->wavpack_bitrate = 3;
|
||||
- p->rip_monkey = 0;
|
||||
- p->monkey_compression = 2;
|
||||
p->rip_musepack = 0;
|
||||
p->musepack_bitrate = 2;
|
||||
p->rip_opus = 0;
|
||||
@@ -199,8 +197,6 @@
|
||||
gtk_range_set_value(GTK_RANGE(lookup_widget(win_prefs, "wavpack_compression")), p->wavpack_compression);
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lookup_widget(win_prefs, "wavpack_hybrid")), p->wavpack_hybrid);
|
||||
gtk_range_set_value(GTK_RANGE(lookup_widget(win_prefs, "wavpack_bitrate_slider")), p->wavpack_bitrate);
|
||||
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lookup_widget(win_prefs, "rip_monkey")), p->rip_monkey);
|
||||
- gtk_range_set_value(GTK_RANGE(lookup_widget(win_prefs, "monkey_compression_slider")), p->monkey_compression);
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lookup_widget(win_prefs, "rip_musepack")), p->rip_musepack);
|
||||
gtk_range_set_value(GTK_RANGE(lookup_widget(win_prefs, "musepack_bitrate_slider")), p->musepack_bitrate);
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lookup_widget(win_prefs, "rip_opus")), p->rip_opus);
|
||||
@@ -236,8 +232,6 @@
|
||||
disable_wavpack_widgets();
|
||||
else
|
||||
enable_wavpack_widgets(); /* need this to potentially disable hybrid widgets */
|
||||
- if( !(p->rip_monkey) )
|
||||
- disable_monkey_widgets();
|
||||
if( !(p->rip_musepack) )
|
||||
disable_musepack_widgets();
|
||||
if (!(p->rip_opus))
|
||||
@@ -296,8 +290,6 @@
|
||||
p->wavpack_compression = (int)gtk_range_get_value(GTK_RANGE(lookup_widget(win_prefs, "wavpack_compression")));
|
||||
p->wavpack_hybrid = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(win_prefs, "wavpack_hybrid")));
|
||||
p->wavpack_bitrate = (int)gtk_range_get_value(GTK_RANGE(lookup_widget(win_prefs, "wavpack_bitrate_slider")));
|
||||
- p->rip_monkey = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(win_prefs, "rip_monkey")));
|
||||
- p->monkey_compression = (int)gtk_range_get_value(GTK_RANGE(lookup_widget(win_prefs, "monkey_compression_slider")));
|
||||
p->rip_musepack = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(win_prefs, "rip_musepack")));
|
||||
p->musepack_bitrate = (int)gtk_range_get_value(GTK_RANGE(lookup_widget(win_prefs, "musepack_bitrate_slider")));
|
||||
p->rip_opus = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(win_prefs, "rip_opus")));
|
||||
@@ -452,8 +444,6 @@
|
||||
fprintf(config, "%d\n", p->do_log);
|
||||
fprintf(config, "%s\n", p->cddb_server_name);
|
||||
fprintf(config, "%d\n", p->cddb_port_number);
|
||||
- fprintf(config, "%d\n", p->rip_monkey);
|
||||
- fprintf(config, "%d\n", p->monkey_compression);
|
||||
fprintf(config, "%d\n", p->rip_musepack);
|
||||
fprintf(config, "%d\n", p->musepack_bitrate);
|
||||
fprintf(config, "%d\n", p->more_formats_expanded);
|
||||
@@ -626,12 +616,6 @@
|
||||
p->cddb_port_number = DEFAULT_CDDB_SERVER_PORT;
|
||||
}
|
||||
|
||||
- // this one can be 0
|
||||
- p->rip_monkey = read_line_num(fd);
|
||||
-
|
||||
- // this one can be 0
|
||||
- p->monkey_compression = read_line_num(fd);
|
||||
-
|
||||
/* used to be p->rip_aac, but no longer used */
|
||||
aCharPtr = read_line(fd);
|
||||
if (aCharPtr != NULL)
|
||||
diff -ruN b/src/prefs.h c/src/prefs.h
|
||||
--- b/src/prefs.h 2021-06-27 16:20:10.544156626 -0500
|
||||
+++ c/src/prefs.h 2021-06-27 16:50:15.719807686 -0500
|
||||
@@ -32,8 +32,6 @@
|
||||
int do_log;
|
||||
char* cddb_server_name;
|
||||
int cddb_port_number;
|
||||
- int rip_monkey;
|
||||
- int monkey_compression;
|
||||
int rip_musepack;
|
||||
int musepack_bitrate;
|
||||
int more_formats_expanded;
|
||||
diff -ruN b/src/threads.c c/src/threads.c
|
||||
--- b/src/threads.c 2021-06-27 16:30:39.049983041 -0500
|
||||
+++ c/src/threads.c 2021-06-27 16:59:37.104253676 -0500
|
||||
@@ -39,7 +39,6 @@
|
||||
static FILE * playlist_opus = NULL;
|
||||
static FILE * playlist_flac = NULL;
|
||||
static FILE * playlist_wavpack = NULL;
|
||||
-static FILE * playlist_monkey = NULL;
|
||||
static FILE * playlist_musepack = NULL;
|
||||
|
||||
/* ripping or encoding, so that can know not to clear the tracklist on eject */
|
||||
@@ -60,7 +59,6 @@
|
||||
static double opus_percent;
|
||||
static double flac_percent;
|
||||
static double wavpack_percent;
|
||||
-static double monkey_percent;
|
||||
static double musepack_percent;
|
||||
static int rip_tracks_completed;
|
||||
static int encode_tracks_completed;
|
||||
@@ -86,14 +84,12 @@
|
||||
kill(pid, SIGKILL);
|
||||
if ((pid = wavpack_pid) != 0)
|
||||
kill(pid, SIGKILL);
|
||||
- if ((pid = monkey_pid) != 0)
|
||||
- kill(pid, SIGKILL);
|
||||
- if ((pid = musepack_pid) != 0)
|
||||
+ if ((pid = musepack_pid) != 0)
|
||||
kill(pid, SIGKILL);
|
||||
|
||||
/* wait until all the worker threads are done */
|
||||
while (cdparanoia_pid != 0 || lame_pid != 0 || oggenc_pid != 0 ||
|
||||
- opusenc_pid != 0 || flac_pid != 0 || wavpack_pid != 0 || monkey_pid != 0 ||
|
||||
+ opusenc_pid != 0 || flac_pid != 0 || wavpack_pid != 0 ||
|
||||
musepack_pid != 0)
|
||||
{
|
||||
debugLog("w1");
|
||||
@@ -116,8 +112,8 @@
|
||||
gdk_flush();
|
||||
working = false;
|
||||
|
||||
- show_completed_dialog(numCdparanoiaOk + numLameOk + numOggOk + numOpusOk + numFlacOk + numWavpackOk + numMonkeyOk + numMusepackOk,
|
||||
- numCdparanoiaFailed + numLameFailed + numOggFailed + numOpusFailed + numFlacFailed + numWavpackFailed + numMonkeyFailed + numMusepackFailed);
|
||||
+ show_completed_dialog(numCdparanoiaOk + numLameOk + numOggOk + numOpusOk + numFlacOk + numWavpackOk + numMusepackOk,
|
||||
+ numCdparanoiaFailed + numLameFailed + numOggFailed + numOpusFailed + numFlacFailed + numWavpackFailed + numMusepackFailed);
|
||||
}
|
||||
|
||||
// spawn needed threads and begin ripping
|
||||
@@ -140,7 +136,6 @@
|
||||
opus_percent = 0.0;
|
||||
flac_percent = 0.0;
|
||||
wavpack_percent = 0.0;
|
||||
- monkey_percent = 0.0;
|
||||
musepack_percent = 0.0;
|
||||
rip_tracks_completed = 0;
|
||||
encode_tracks_completed = 0;
|
||||
@@ -172,7 +167,7 @@
|
||||
|
||||
// make sure there's at least one format to rip to
|
||||
if (!global_prefs->rip_wav && !global_prefs->rip_mp3 && !global_prefs->rip_ogg && !global_prefs->rip_opus &&
|
||||
- !global_prefs->rip_flac && !global_prefs->rip_wavpack && !global_prefs->rip_monkey &&
|
||||
+ !global_prefs->rip_flac && !global_prefs->rip_wavpack &&
|
||||
!global_prefs->rip_musepack)
|
||||
{
|
||||
GtkWidget * dialog;
|
||||
@@ -306,14 +301,6 @@
|
||||
|
||||
free(filename);
|
||||
}
|
||||
- if (global_prefs->rip_monkey)
|
||||
- {
|
||||
- char * filename = make_filename(prefs_get_music_dir(global_prefs), albumdir, playlist, "ape.m3u");
|
||||
-
|
||||
- make_playlist(filename, &playlist_monkey);
|
||||
-
|
||||
- free(filename);
|
||||
- }
|
||||
if (global_prefs->rip_musepack)
|
||||
{
|
||||
char * filename = make_filename(prefs_get_music_dir(global_prefs), albumdir, playlist, "mpc.m3u");
|
||||
@@ -338,7 +325,6 @@
|
||||
numOpusFailed = 0;
|
||||
numFlacFailed = 0;
|
||||
numWavpackFailed = 0;
|
||||
- numMonkeyFailed = 0;
|
||||
numMusepackFailed = 0;
|
||||
|
||||
numCdparanoiaOk = 0;
|
||||
@@ -347,7 +333,6 @@
|
||||
numOpusOk = 0;
|
||||
numFlacOk = 0;
|
||||
numWavpackOk = 0;
|
||||
- numMonkeyOk = 0;
|
||||
numMusepackOk = 0;
|
||||
|
||||
ripper = g_thread_create(rip, NULL, TRUE, NULL);
|
||||
@@ -533,9 +518,6 @@
|
||||
if (playlist_wavpack)
|
||||
fclose(playlist_wavpack);
|
||||
playlist_wavpack = NULL;
|
||||
- if (playlist_monkey)
|
||||
- fclose(playlist_monkey);
|
||||
- playlist_monkey = NULL;
|
||||
if (playlist_musepack)
|
||||
fclose(playlist_musepack);
|
||||
playlist_musepack = NULL;
|
||||
@@ -970,64 +952,6 @@
|
||||
free(wavpackfilename);
|
||||
free(wavpackfilename2);
|
||||
}
|
||||
- if (global_prefs->rip_monkey)
|
||||
- {
|
||||
- if (aborted)
|
||||
- {
|
||||
- free(albumdir);
|
||||
- free(musicfilename);
|
||||
- free(wavfilename);
|
||||
- free(trackartist_trimmed);
|
||||
- free(tracktitle_trimmed);
|
||||
-
|
||||
- free(trackartist);
|
||||
- free(tracktitle);
|
||||
- free(tracktime);
|
||||
-
|
||||
- free(album_artist);
|
||||
- free(album_title);
|
||||
- free(album_genre);
|
||||
- free(album_year);
|
||||
- free(album_artist_trimmed);
|
||||
- free(album_title_trimmed);
|
||||
- free(album_genre_trimmed);
|
||||
-
|
||||
- close_playlists();
|
||||
- return NULL;
|
||||
- }
|
||||
-
|
||||
- char * monkeyfilename = make_filename(prefs_get_music_dir(global_prefs), albumdir, musicfilename, "ape");
|
||||
- snprintf(logStr, 1024, "Encoding track %d to \"%s\"\n", tracknum, monkeyfilename);
|
||||
- debugLog(logStr);
|
||||
-
|
||||
- rc = stat(monkeyfilename, &statStruct);
|
||||
- if(rc == 0)
|
||||
- {
|
||||
- gdk_threads_enter();
|
||||
- if(confirmOverwrite(monkeyfilename))
|
||||
- doEncode = true;
|
||||
- else
|
||||
- doEncode = false;
|
||||
- gdk_threads_leave();
|
||||
- }
|
||||
- else
|
||||
- doEncode = true;
|
||||
-
|
||||
- if(doEncode)
|
||||
- {
|
||||
- mac(wavfilename, monkeyfilename,
|
||||
- int_to_monkey_int(global_prefs->monkey_compression),
|
||||
- &monkey_percent);
|
||||
- }
|
||||
-
|
||||
- if (playlist_monkey)
|
||||
- {
|
||||
- fprintf(playlist_monkey, "#EXTINF:%d,%s - %s\n", (min*60)+sec, trackartist, tracktitle);
|
||||
- fprintf(playlist_monkey, "%s\n", basename(monkeyfilename));
|
||||
- fflush(playlist_monkey);
|
||||
- }
|
||||
- free(monkeyfilename);
|
||||
- }
|
||||
if (global_prefs->rip_musepack)
|
||||
{
|
||||
if (aborted)
|
||||
@@ -1117,7 +1041,6 @@
|
||||
opus_percent = 0.0;
|
||||
flac_percent = 0.0;
|
||||
wavpack_percent = 0.0;
|
||||
- monkey_percent = 0.0;
|
||||
musepack_percent = 0.0;
|
||||
encode_tracks_completed++;
|
||||
}
|
||||
@@ -1162,7 +1085,7 @@
|
||||
|
||||
/* wait until all the worker threads are done */
|
||||
while (cdparanoia_pid != 0 || lame_pid != 0 || oggenc_pid != 0 ||
|
||||
- opusenc_pid != 0 || flac_pid != 0 || wavpack_pid != 0 || monkey_pid != 0 ||
|
||||
+ opusenc_pid != 0 || flac_pid != 0 || wavpack_pid != 0 ||
|
||||
musepack_pid != 0)
|
||||
{
|
||||
debugLog("w2");
|
||||
@@ -1182,8 +1105,8 @@
|
||||
eject_disc(global_prefs->cdrom);
|
||||
}
|
||||
|
||||
- show_completed_dialog(numCdparanoiaOk + numLameOk + numOggOk + numOpusOk + numFlacOk + numWavpackOk + numMonkeyOk + numMusepackOk,
|
||||
- numCdparanoiaFailed + numLameFailed + numOggFailed + numOpusFailed + numFlacFailed + numWavpackFailed + numMonkeyFailed + numMusepackFailed);
|
||||
+ show_completed_dialog(numCdparanoiaOk + numLameOk + numOggOk + numOpusOk + numFlacOk + numWavpackOk + numMusepackOk,
|
||||
+ numCdparanoiaFailed + numLameFailed + numOggFailed + numOpusFailed + numFlacFailed + numWavpackFailed + numMusepackFailed);
|
||||
gdk_threads_leave();
|
||||
|
||||
return NULL;
|
||||
@@ -1204,8 +1127,6 @@
|
||||
parts++;
|
||||
if(global_prefs->rip_wavpack)
|
||||
parts++;
|
||||
- if(global_prefs->rip_monkey)
|
||||
- parts++;
|
||||
if(global_prefs->rip_musepack)
|
||||
parts++;
|
||||
|
||||
@@ -1250,7 +1171,7 @@
|
||||
if (parts > 1)
|
||||
{
|
||||
pencode = ((double)encode_tracks_completed/(double)tracks_to_rip) +
|
||||
- ((mp3_percent+ogg_percent+flac_percent+wavpack_percent+monkey_percent
|
||||
+ ((mp3_percent+ogg_percent+flac_percent+wavpack_percent
|
||||
+opus_percent+musepack_percent) /
|
||||
(parts-1) / tracks_to_rip);
|
||||
snprintf(sencode, 13, "%d%% (%d/%d)", (int)(pencode*100),
|
||||
@@ -1287,10 +1208,10 @@
|
||||
if ((looper % 20) == 0) {
|
||||
snprintf(logStr, 1024, "completed tracks %d, rip %.2lf%%; encoded tracks %d, "
|
||||
"mp3 %.2lf%% ogg %.2lf%% opus %.2lf%% flac %.2lf%% wavpack %.2lf%% "
|
||||
- "monkey %.2lf%% musepack %.2lf%% aac %.2lf%%; prip %.2lf%% pencode %.2lf%%\n",
|
||||
+ "musepack %.2lf%% aac %.2lf%%; prip %.2lf%% pencode %.2lf%%\n",
|
||||
rip_tracks_completed, rip_percent*100, encode_tracks_completed,
|
||||
mp3_percent*100, ogg_percent*100, opus_percent*100, flac_percent*100, wavpack_percent*100,
|
||||
- monkey_percent*100,musepack_percent*100,
|
||||
+ musepack_percent*100,
|
||||
prip*100, pencode*100);
|
||||
debugLog(logStr);
|
||||
}
|
||||
diff -ruN b/src/wrappers.c c/src/wrappers.c
|
||||
--- b/src/wrappers.c 2021-06-27 16:35:20.690511295 -0500
|
||||
+++ c/src/wrappers.c 2021-06-27 17:02:42.840406254 -0500
|
||||
@@ -35,7 +35,6 @@
|
||||
pid_t opusenc_pid = 0;
|
||||
pid_t flac_pid = 0;
|
||||
pid_t wavpack_pid = 0;
|
||||
-pid_t monkey_pid = 0;
|
||||
pid_t musepack_pid = 0;
|
||||
|
||||
int numCdparanoiaFailed;
|
||||
@@ -44,7 +43,6 @@
|
||||
int numOpusFailed;
|
||||
int numFlacFailed;
|
||||
int numWavpackFailed;
|
||||
-int numMonkeyFailed;
|
||||
int numMusepackFailed;
|
||||
|
||||
int numCdparanoiaOk;
|
||||
@@ -53,7 +51,6 @@
|
||||
int numOpusOk;
|
||||
int numFlacOk;
|
||||
int numWavpackOk;
|
||||
-int numMonkeyOk;
|
||||
int numMusepackOk;
|
||||
|
||||
int numchildren = 0;
|
||||
@@ -131,11 +128,6 @@
|
||||
wavpack_pid = 0;
|
||||
numWavpackFailed++;
|
||||
}
|
||||
- else if (pid == monkey_pid)
|
||||
- {
|
||||
- monkey_pid = 0;
|
||||
- numMonkeyFailed++;
|
||||
- }
|
||||
else if (pid == musepack_pid)
|
||||
{
|
||||
musepack_pid = 0;
|
||||
@@ -175,11 +167,6 @@
|
||||
wavpack_pid = 0;
|
||||
numWavpackOk++;
|
||||
}
|
||||
- else if (pid == monkey_pid)
|
||||
- {
|
||||
- monkey_pid = 0;
|
||||
- numMonkeyOk++;
|
||||
- }
|
||||
else if (pid == musepack_pid)
|
||||
{
|
||||
musepack_pid = 0;
|
||||
@@ -1158,65 +1145,6 @@
|
||||
*progress = 1;
|
||||
}
|
||||
|
||||
-void mac(const char* wavfilename,
|
||||
- const char* monkeyfilename,
|
||||
- int compression,
|
||||
- double* progress)
|
||||
-{
|
||||
- const char* args[5];
|
||||
- int fd;
|
||||
- int pos;
|
||||
-
|
||||
- pos = 0;
|
||||
- args[pos++] = "mac";
|
||||
- args[pos++] = wavfilename;
|
||||
- args[pos++] = monkeyfilename;
|
||||
-
|
||||
- char compressParam[10];
|
||||
- snprintf(compressParam, 10, "-c%d", compression);
|
||||
- args[pos++] = compressParam;
|
||||
-
|
||||
- args[pos++] = NULL;
|
||||
-
|
||||
- fd = exec_with_output(args, STDERR_FILENO, &monkey_pid, NULL);
|
||||
-
|
||||
- int size;
|
||||
- char buf[256];
|
||||
- do
|
||||
- {
|
||||
- pos = -1;
|
||||
- do
|
||||
- {
|
||||
- pos++;
|
||||
- size = read(fd, &buf[pos], 1);
|
||||
-
|
||||
- if (size == -1 && errno == EINTR)
|
||||
- /* signal interrupted read(), try again */
|
||||
- {
|
||||
- pos--;
|
||||
- size = 1;
|
||||
- }
|
||||
-
|
||||
- } while ((buf[pos] != '\r') && (buf[pos] != '\n') && (size > 0) && (pos < 255));
|
||||
- buf[pos] = '\0';
|
||||
-
|
||||
- double percent;
|
||||
- if (sscanf(buf, "Progress: %lf", &percent) == 1)
|
||||
- {
|
||||
- *progress = percent / 100;
|
||||
- }
|
||||
- } while (size > 0);
|
||||
-
|
||||
- close(fd);
|
||||
- /* don't go on until the signal for the previous call is handled */
|
||||
- while (monkey_pid != 0)
|
||||
- {
|
||||
- debugLog("w9\n");
|
||||
- usleep(100000);
|
||||
- }
|
||||
- *progress = 1;
|
||||
-}
|
||||
-
|
||||
// uses mpcenc to encode a WAV file into a .mpc and tag it
|
||||
//
|
||||
// tracknum - the track number
|
||||
diff -ruN b/src/wrappers.h c/src/wrappers.h
|
||||
--- b/src/wrappers.h 2021-06-27 16:36:17.366606719 -0500
|
||||
+++ c/src/wrappers.h 2021-06-27 17:03:50.812466083 -0500
|
||||
@@ -7,7 +7,6 @@
|
||||
extern pid_t opusenc_pid;
|
||||
extern pid_t flac_pid;
|
||||
extern pid_t wavpack_pid;
|
||||
-extern pid_t monkey_pid;
|
||||
extern pid_t musepack_pid;
|
||||
|
||||
extern int numCdparanoiaFailed;
|
||||
@@ -16,7 +15,6 @@
|
||||
extern int numOpusFailed;
|
||||
extern int numFlacFailed;
|
||||
extern int numWavpackFailed;
|
||||
-extern int numMonkeyFailed;
|
||||
extern int numMusepackFailed;
|
||||
|
||||
extern int numCdparanoiaOk;
|
||||
@@ -25,7 +23,6 @@
|
||||
extern int numOpusOk;
|
||||
extern int numFlacOk;
|
||||
extern int numWavpackOk;
|
||||
-extern int numMonkeyOk;
|
||||
extern int numMusepackOk;
|
||||
|
||||
// signal handler to find out when out child has exited
|
||||
@@ -167,11 +164,6 @@
|
||||
int bitrate,
|
||||
double * progress);
|
||||
|
||||
-void mac(const char* wavfilename,
|
||||
- const char* monkeyfilename,
|
||||
- int compression,
|
||||
- double* progress);
|
||||
-
|
||||
// uses mpcenc to encode a WAV file into a .mpc and tag it
|
||||
//
|
||||
// tracknum - the track number
|
||||
|
|
@ -1,350 +0,0 @@
|
|||
# vim:syntax=apparmor
|
||||
|
||||
# evince is not written with application confinement in mind and is designed to
|
||||
# operate within a trusted desktop session where anything running within the
|
||||
# user's session is trusted. That said, evince will often process untrusted
|
||||
# input (PDFs, images, etc). Ideally evince would be written in such a way that
|
||||
# image processing is separate from the main process and that processing
|
||||
# happens in a restrictive sandbox, but unfortunately that is not currently the
|
||||
# case. Because evince will process untrusted input, this profile aims to
|
||||
# provide some hardening, but considering evince's design and other factors such
|
||||
# as X, gsettings, accessibility, translations, DBus session and system
|
||||
# services, etc, complete confinement is not possible.
|
||||
|
||||
#include <tunables/global>
|
||||
|
||||
/usr/bin/atril {
|
||||
#include <abstractions/audio>
|
||||
#include <abstractions/bash>
|
||||
#include <abstractions/cups-client>
|
||||
#include <abstractions/dbus-accessibility>
|
||||
#include <abstractions/atril>
|
||||
#include <abstractions/ibus>
|
||||
#include <abstractions/nameservice>
|
||||
|
||||
#include <abstractions/ubuntu-browsers>
|
||||
#include <abstractions/ubuntu-console-browsers>
|
||||
#include <abstractions/ubuntu-email>
|
||||
#include <abstractions/ubuntu-console-email>
|
||||
#include <abstractions/ubuntu-media-players>
|
||||
|
||||
# allow atril to spawn browsers distributed as snaps (LP: #1794064)
|
||||
#include <abstractions/snap_browsers>
|
||||
|
||||
# For now, let atril talk to any session services over dbus. We can
|
||||
# blacklist any problematic ones (but note, evince uses libsecret :\)
|
||||
#include <abstractions/dbus-session>
|
||||
|
||||
#include <abstractions/dbus-strict>
|
||||
dbus (receive) bus=system,
|
||||
# Allow getting information from various system services
|
||||
dbus (send)
|
||||
bus=system
|
||||
member="Get*"
|
||||
peer=(label=unconfined),
|
||||
# Allow talking to avahi with whatever polkit allows
|
||||
dbus (send)
|
||||
bus=system
|
||||
interface="org.freedesktop.Avahi{,.*}",
|
||||
# Allow talking to colord with whatever polkit allows
|
||||
dbus (send)
|
||||
bus=system
|
||||
interface="org.freedesktop.ColorManager{,.*}",
|
||||
|
||||
# Terminals for using console applications. These abstractions should ideally
|
||||
# have 'ix' to restrict access to what only atril is allowed to do
|
||||
#include <abstractions/ubuntu-gnome-terminal>
|
||||
|
||||
# By default, we won't support launching a terminal program in Xterm or
|
||||
# KDE's konsole. It opens up too many unnecessary files for most users.
|
||||
# People who need this functionality can uncomment the following:
|
||||
##include <abstractions/ubuntu-xterm>
|
||||
##include <abstractions/ubuntu-konsole>
|
||||
|
||||
/usr/bin/atril rmPx,
|
||||
/usr/bin/atril-previewer Px,
|
||||
/usr/bin/yelp Cx -> sanitized_helper,
|
||||
/usr/bin/bug-buddy px,
|
||||
# 'Show Containing Folder' (LP: #1022962)
|
||||
/usr/bin/nautilus Cx -> sanitized_helper, # Gnome
|
||||
/usr/bin/pcmanfm Cx -> sanitized_helper, # LXDE
|
||||
/usr/bin/krusader Cx -> sanitized_helper, # KDE
|
||||
/usr/bin/thunar Cx -> sanitized_helper, # XFCE
|
||||
|
||||
# Print Dialog
|
||||
/usr/lib/@{multiarch}/libproxy/*/pxgsettings Cx -> sanitized_helper,
|
||||
|
||||
# For Xubuntu to launch the browser
|
||||
#include <abstractions/exo-open>
|
||||
|
||||
# For text attachments
|
||||
/usr/bin/gedit ixr,
|
||||
|
||||
# For Send to
|
||||
/usr/bin/nautilus-sendto Cx -> sanitized_helper,
|
||||
|
||||
# GLib desktop launch helper (used under the hood by g_app_info_launch)
|
||||
/usr/lib/@{multiarch}/glib-[0-9]*/gio-launch-desktop rmix,
|
||||
/usr/bin/env ixr,
|
||||
|
||||
# allow directory listings (ie 'r' on directories) so browsing via the file
|
||||
# dialog works
|
||||
/ r,
|
||||
/**/ r,
|
||||
|
||||
# This is need for saving files in your home directory without an extension.
|
||||
# Changing this to '@{HOME}/** r' makes it require an extension and more
|
||||
# secure (but with 'rw', we still have abstractions/private-files-strict in
|
||||
# effect).
|
||||
owner @{HOME}/** rw,
|
||||
owner /media/** rw,
|
||||
owner @{HOME}/.local/share/gvfs-metadata/** l,
|
||||
owner /{,var/}run/user/*/gvfs-metadata/** l,
|
||||
|
||||
# Maybe add to an abstraction?
|
||||
/etc/dconf/** r,
|
||||
owner @{HOME}/.cache/dconf/user rw,
|
||||
owner @{HOME}/.config/dconf/user r,
|
||||
owner @{HOME}/.config/enchant/* rk,
|
||||
owner /{,var/}run/user/*/dconf/ w,
|
||||
owner /{,var/}run/user/*/dconf/user rw,
|
||||
owner /{,var/}run/user/*/dconf-service/keyfile/ w,
|
||||
owner /{,var/}run/user/*/dconf-service/keyfile/user rw,
|
||||
|
||||
owner /{,var/}run/user/*/at-spi2-*/ rw,
|
||||
owner /{,var/}run/user/*/at-spi2-*/** rw,
|
||||
|
||||
# Allow access to the non-abstract D-Bus socket used by at-spi > 2.42.0
|
||||
# https://gitlab.gnome.org/GNOME/at-spi2-core/-/issues/43
|
||||
owner /{,var/}run/user/*/at-spi/bus* rw,
|
||||
|
||||
# from http://live.gnome.org/Evince/SupportedDocumentFormats. Allow
|
||||
# read and write for all supported file formats
|
||||
/**.[aA][iI] rw,
|
||||
/**.[bB][mM][pP] rw,
|
||||
/**.[dD][jJ][vV][uU] rw,
|
||||
/**.[dD][vV][iI] rw,
|
||||
/**.[gG][iI][fF] rw,
|
||||
/**.[jJ][pP][gG] rw,
|
||||
/**.[jJ][pP][eE][gG] rw,
|
||||
/**.[oO][dD][pP] rw,
|
||||
/**.[fFpP][dD][fF] rw,
|
||||
/**.[pP][nN][mM] rw,
|
||||
/**.[pP][nN][gG] rw,
|
||||
/**.[pP][sS] rw,
|
||||
/**.[eE][pP][sS] rw,
|
||||
/**.[tT][iI][fF] rw,
|
||||
/**.[tT][iI][fF][fF] rw,
|
||||
/**.[xX][pP][mM] rw,
|
||||
/**.[gG][zZ] rw,
|
||||
/**.[bB][zZ]2 rw,
|
||||
/**.[cC][bB][rRzZ7] rw,
|
||||
/**.[xX][zZ] rw,
|
||||
|
||||
# atril creates a temporary stream file like '.goutputstream-XXXXXX' in the
|
||||
# directory a file is saved. This allows that behavior.
|
||||
owner /**/.goutputstream-* w,
|
||||
|
||||
# allow atril to spawn browsers distributed as snaps (LP: #1794064)
|
||||
/{,snap/core/[0-9]*/,snap/snapd/[0-9]*/}usr/bin/snap mrCx -> snap_browsers,
|
||||
}
|
||||
|
||||
/usr/bin/atril-previewer {
|
||||
#include <abstractions/audio>
|
||||
#include <abstractions/bash>
|
||||
#include <abstractions/cups-client>
|
||||
#include <abstractions/dbus-accessibility>
|
||||
#include <abstractions/atril>
|
||||
#include <abstractions/ibus>
|
||||
#include <abstractions/nameservice>
|
||||
|
||||
#include <abstractions/ubuntu-browsers>
|
||||
#include <abstractions/ubuntu-console-browsers>
|
||||
#include <abstractions/ubuntu-email>
|
||||
#include <abstractions/ubuntu-console-email>
|
||||
#include <abstractions/ubuntu-media-players>
|
||||
|
||||
# For now, let atril talk to any session services over dbus. We can
|
||||
# blacklist any problematic ones (but note, evince uses libsecret :\)
|
||||
#include <abstractions/dbus-session>
|
||||
|
||||
#include <abstractions/dbus-strict>
|
||||
dbus (receive) bus=system,
|
||||
# Allow getting information from various system services
|
||||
dbus (send)
|
||||
bus=system
|
||||
member="Get*"
|
||||
peer=(label=unconfined),
|
||||
# Allow talking to avahi with whatever polkit allows
|
||||
dbus (send)
|
||||
bus=system
|
||||
interface="org.freedesktop.Avahi{,.*}",
|
||||
# Allow talking to colord with whatever polkit allows
|
||||
dbus (send)
|
||||
bus=system
|
||||
interface="org.freedesktop.ColorManager{,.*}",
|
||||
|
||||
|
||||
# Terminals for using console applications. These abstractions should ideally
|
||||
# have 'ix' to restrict access to what only atril is allowed to do
|
||||
#include <abstractions/ubuntu-gnome-terminal>
|
||||
|
||||
# By default, we won't support launching a terminal program in Xterm or
|
||||
# KDE's konsole. It opens up too many unnecessary files for most users.
|
||||
# People who need this functionality can uncomment the following:
|
||||
##include <abstractions/ubuntu-xterm>
|
||||
|
||||
/usr/bin/atril-previewer mr,
|
||||
/usr/bin/yelp Cx -> sanitized_helper,
|
||||
/usr/bin/bug-buddy px,
|
||||
|
||||
# Lenient, but remember we still have abstractions/private-files-strict in
|
||||
# effect). Write is needed for 'print to file' from the previewer.
|
||||
@{HOME}/ r,
|
||||
@{HOME}/** rw,
|
||||
|
||||
# Maybe add to an abstraction?
|
||||
owner /{,var/}run/user/*/dconf/ w,
|
||||
owner /{,var/}run/user/*/dconf/user rw,
|
||||
}
|
||||
|
||||
/usr/bin/atril-thumbnailer {
|
||||
#include <abstractions/base>
|
||||
#include <abstractions/private-files-strict>
|
||||
|
||||
#include <abstractions/fonts>
|
||||
deny @{HOME}/.{,cache/}fontconfig/** wl,
|
||||
deny @{HOME}/missfont.log wl,
|
||||
|
||||
#include <abstractions/dbus-session-strict>
|
||||
dbus (receive) bus=session,
|
||||
dbus (send)
|
||||
bus=session
|
||||
path="/org/gtk/vfs/mounttracker"
|
||||
interface="org.gtk.vfs.MountTracker"
|
||||
member="ListMountableInfo"
|
||||
peer=(label=unconfined),
|
||||
|
||||
# updating gvfs-metadata for thumbnails is unneeded, so explicitly deny it
|
||||
deny dbus (send)
|
||||
bus=session
|
||||
path="/org/gtk/vfs/metadata"
|
||||
interface="org.gtk.vfs.Metadata"
|
||||
member="GetTreeFromDevice"
|
||||
peer=(label=unconfined),
|
||||
deny @{HOME}/.local/share/gvfs-metadata/* r,
|
||||
|
||||
dbus (send)
|
||||
bus=session
|
||||
path="/org/gtk/vfs/Daemon"
|
||||
interface="org.gtk.vfs.Daemon"
|
||||
member="List*"
|
||||
peer=(label=unconfined),
|
||||
|
||||
# The thumbnailer doesn't need access to everything in the nameservice
|
||||
# abstraction. Allow reading of /etc/passwd and /etc/group, but suppress
|
||||
# logging denial of nsswitch.conf.
|
||||
/etc/passwd r,
|
||||
/etc/group r,
|
||||
deny /etc/nsswitch.conf r,
|
||||
|
||||
# TCP/UDP network access for NFS
|
||||
network inet stream,
|
||||
network inet6 stream,
|
||||
network inet dgram,
|
||||
network inet6 dgram,
|
||||
|
||||
/etc/papersize r,
|
||||
|
||||
/usr/bin/atril-thumbnailer mr,
|
||||
|
||||
/etc/texmf/ r,
|
||||
/etc/texmf/** r,
|
||||
/etc/xpdf/* r,
|
||||
|
||||
/usr/bin/gs-esp ixr,
|
||||
# Silence these denials since 'no new privs' drops transitions to
|
||||
# sanitized_helper, we don't want all those perms in the thumbnailer
|
||||
# and the thumbnailer generates thumbnails without these just fine.
|
||||
deny /usr/bin/mktexpk x,
|
||||
deny /usr/bin/mktextfm x,
|
||||
deny /usr/bin/dvipdfm x,
|
||||
deny /usr/bin/dvipdfmx x,
|
||||
deny /usr/bin/mkofm x,
|
||||
|
||||
# supported archivers
|
||||
/{usr/,}bin/gzip ixr,
|
||||
/{usr/,}bin/bzip2 ixr,
|
||||
/usr/bin/unrar* ixr,
|
||||
/usr/bin/unzip ixr,
|
||||
/usr/bin/7zr ixr,
|
||||
/usr/lib/p7zip/7zr ixr,
|
||||
/usr/bin/7za ixr,
|
||||
/usr/lib/p7zip/7za ixr,
|
||||
/usr/bin/zipnote ixr,
|
||||
/{usr/,}bin/tar ixr,
|
||||
/usr/bin/xz ixr,
|
||||
|
||||
# miscellaneous access for the above
|
||||
owner @{PROC}/@{pid}/fd/ r,
|
||||
owner @{PROC}/@{pid}/mountinfo r,
|
||||
/sys/devices/system/cpu/ r,
|
||||
|
||||
# allow read access to anything in /usr/share, for plugins and input methods
|
||||
/usr/local/share/** r,
|
||||
/usr/share/** r,
|
||||
/usr/lib/ghostscript/** mr,
|
||||
/var/lib/ghostscript/** r,
|
||||
/var/lib/texmf/** r,
|
||||
|
||||
# from http://live.gnome.org/Evince/SupportedDocumentFormats. Allow
|
||||
# read for all supported file formats
|
||||
/**.[bB][mM][pP] r,
|
||||
/**.[dD][jJ][vV][uU] r,
|
||||
/**.[dD][vV][iI] r,
|
||||
/**.[gG][iI][fF] r,
|
||||
/**.[jJ][pP][gG] r,
|
||||
/**.[jJ][pP][eE][gG] r,
|
||||
/**.[oO][dD][pP] r,
|
||||
/**.[fFpP][dD][fF] r,
|
||||
/**.[pP][nN][mM] r,
|
||||
/**.[pP][nN][gG] r,
|
||||
/**.[pP][sS] r,
|
||||
/**.[eE][pP][sS] r,
|
||||
/**.[eE][pP][sS][fFiI23] r,
|
||||
/**.[tT][iI][fF] r,
|
||||
/**.[tT][iI][fF][fF] r,
|
||||
/**.[xX][pP][mM] r,
|
||||
/**.[gG][zZ] r,
|
||||
/**.[bB][zZ]2 r,
|
||||
/**.[cC][bB][rRzZ7] r,
|
||||
/**.[xX][zZ] r,
|
||||
|
||||
owner @{HOME}/.texlive*/** r,
|
||||
owner @{HOME}/.texmf*/** r,
|
||||
owner @{HOME}/.local/share/{,flatpak/exports/share/}mime/** r,
|
||||
owner @{HOME}/.local/share/{,flatpak/exports/share/}mime/** r,
|
||||
|
||||
# With the network rules above, this allows data exfiltration for files
|
||||
# not covered by private-files-strict.
|
||||
@{HOME}/ r,
|
||||
owner @{HOME}/[^.]** r,
|
||||
owner /media/** r,
|
||||
|
||||
owner /tmp/.gnome_desktop_thumbnail* w,
|
||||
owner /tmp/gnome-desktop-* rw,
|
||||
owner /tmp/atril-thumbnailer*/{,**} rw,
|
||||
|
||||
# these happen post pivot_root
|
||||
/ r,
|
||||
deny /missfont.log w,
|
||||
|
||||
# Add apparmor rule for mate's caja - LP#1798091
|
||||
owner /tmp/.mate_desktop_thumbnail* w,
|
||||
owner /tmp/mate-desktop-thumbnailer* w,
|
||||
|
||||
# Fix thumbnail issue #915024
|
||||
owner @{HOME}/.cache/thumbnails/** rw,
|
||||
owner /tmp/atril-thumbnailer* rw,
|
||||
|
||||
}
|
||||
|
|
@ -1,127 +0,0 @@
|
|||
# vim:syntax=apparmor
|
||||
#
|
||||
# abstraction used by atril binaries
|
||||
#
|
||||
|
||||
#include <abstractions/gnome>
|
||||
#include <abstractions/p11-kit>
|
||||
#include <abstractions/ubuntu-helpers>
|
||||
|
||||
@{PROC}/[0-9]*/fd/ r,
|
||||
@{PROC}/[0-9]*/mountinfo r,
|
||||
owner @{PROC}/[0-9]*/auxv r,
|
||||
owner @{PROC}/[0-9]*/status r,
|
||||
|
||||
# Doesn't seem to be required, but noisy. Maybe allow 'r' for 'b*' if needed.
|
||||
# Possibly move to an abstraction if anything else needs it.
|
||||
deny /run/udev/data/** r,
|
||||
|
||||
# move out to the gnome abstraction if anyone else needs these
|
||||
/etc/udev/udev.conf r,
|
||||
/sys/devices/**/block/**/uevent r,
|
||||
|
||||
# apport
|
||||
/etc/default/apport r,
|
||||
|
||||
# XFCE
|
||||
/etc/xfce4/defaults.list r,
|
||||
|
||||
# Lubuntu
|
||||
/etc/xdg/lubuntu/applications/defaults.list r,
|
||||
|
||||
# atril specific
|
||||
/etc/ r,
|
||||
/etc/fstab r,
|
||||
/etc/texmf/ r,
|
||||
/etc/texmf/** r,
|
||||
/etc/xpdf/* r,
|
||||
owner @{HOME}/.config/atril/ rw,
|
||||
owner @{HOME}/.config/atril/** rwkl,
|
||||
|
||||
/usr/bin/gs-esp ixr,
|
||||
/usr/bin/mktexpk Cx -> sanitized_helper,
|
||||
/usr/bin/mktextfm Cx -> sanitized_helper,
|
||||
/usr/bin/dvipdfm Cx -> sanitized_helper,
|
||||
/usr/bin/dvipdfmx Cx -> sanitized_helper,
|
||||
|
||||
# gio-launch-desktop was replaced by a very small shell script
|
||||
/{usr/,}bin/{dash,bash} ixr,
|
||||
|
||||
# supported archivers
|
||||
/{usr/,}bin/gzip ixr,
|
||||
/{usr/,}bin/bzip2 ixr,
|
||||
/usr/bin/unrar* ixr,
|
||||
/usr/bin/unzip ixr,
|
||||
/usr/bin/7zr ixr,
|
||||
/usr/lib/p7zip/7zr ixr,
|
||||
/usr/bin/7za ixr,
|
||||
/usr/lib/p7zip/7za ixr,
|
||||
/usr/bin/zipnote ixr,
|
||||
/{usr/,}bin/tar ixr,
|
||||
/usr/bin/xz ixr,
|
||||
|
||||
# allow read access to anything in /usr/share, for plugins and input methods
|
||||
/usr/local/share/** r,
|
||||
/usr/share/** r,
|
||||
/usr/lib/ghostscript/** mr,
|
||||
/var/lib/ghostscript/** r,
|
||||
/var/lib/texmf/{,**} r,
|
||||
|
||||
# from http://live.gnome.org/Evince/SupportedDocumentFormats. Allow
|
||||
# read for all supported file formats
|
||||
/**.[aA][iI] r,
|
||||
/**.[bB][mM][pP] r,
|
||||
/**.[dD][jJ][vV][uU] r,
|
||||
/**.[dD][vV][iI] r,
|
||||
/**.[gG][iI][fF] r,
|
||||
/**.[jJ][pP][gG] r,
|
||||
/**.[jJ][pP][eE][gG] r,
|
||||
/**.[oO][dD][pP] r,
|
||||
/**.[fFpP][dD][fF] r,
|
||||
/**.[pP][nN][mM] r,
|
||||
/**.[pP][nN][gG] r,
|
||||
/**.[pP][sS] r,
|
||||
/**.[eE][pP][sS] r,
|
||||
/**.[eE][pP][sS][fFiI23] r,
|
||||
/**.[tT][iI][fF] r,
|
||||
/**.[tT][iI][fF][fF] r,
|
||||
/**.[xX][pP][mM] r,
|
||||
/**.[gG][zZ] r,
|
||||
/**.[bB][zZ]2 r,
|
||||
/**.[cC][bB][rRzZ7] r,
|
||||
/**.[xX][zZ] r,
|
||||
|
||||
# Use abstractions/private-files instead of abstractions/private-files-strict
|
||||
# and add the sensitive files manually to work around LP: #451422. The goal
|
||||
# is to disallow access to the .mozilla folder in general, but to allow
|
||||
# access to the Cache directory, which the browser may tell atril to open
|
||||
# from directly.
|
||||
|
||||
#include <abstractions/private-files>
|
||||
audit deny @{HOME}/.gnupg/{,**} mrwkl,
|
||||
audit deny @{HOME}/.ssh/{,**} mrwkl,
|
||||
audit deny @{HOME}/.gnome2_private/{,**} mrwkl,
|
||||
audit deny @{HOME}/.gnome2/ w,
|
||||
audit deny @{HOME}/.gnome2/keyrings/{,**} mrwkl,
|
||||
audit deny @{HOME}/.kde/{,share/,share/apps/} w,
|
||||
audit deny @{HOME}/.kde/share/apps/kwallet/{,**} mrwkl,
|
||||
audit deny @{HOME}/.pki/{,nssdb/} w,
|
||||
audit deny @{HOME}/.pki/nssdb/{,**} wl,
|
||||
|
||||
audit deny @{HOME}/.mozilla/{,**/} w,
|
||||
audit deny @{HOME}/.mozilla/*/*/* mrwkl,
|
||||
audit deny @{HOME}/.mozilla/**/bookmarkbackups/{,**} mrwkl,
|
||||
audit deny @{HOME}/.mozilla/**/chrome/{,**} mrwkl,
|
||||
audit deny @{HOME}/.mozilla/**/extensions/{,**} mrwkl,
|
||||
audit deny @{HOME}/.mozilla/**/gm_scripts/{,**} mrwkl,
|
||||
|
||||
audit deny @{HOME}/.config/ w,
|
||||
audit deny @{HOME}/.config/chromium/{,**} mrwkl,
|
||||
audit deny @{HOME}/.config/evolution/{,**} mrwkl,
|
||||
audit deny @{HOME}/.evolution/{,**} mrwkl,
|
||||
audit deny @{HOME}/.kde/{,share/,share/apps/} w,
|
||||
audit deny @{HOME}/.kde/share/config/{,**} mrwkl,
|
||||
audit deny @{HOME}/.kde/share/apps/kmail/{,**} mrwkl,
|
||||
audit deny @{HOME}/.{,mozilla-}thunderbird/{,**/} w,
|
||||
audit deny @{HOME}/.{,mozilla-}thunderbird/*/* mrwkl,
|
||||
audit deny @{HOME}/.{,mozilla-}thunderbird/*/[^C][^a][^c][^h][^e]*/{,**} mrwkl,
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
'''apport package hook for atril
|
||||
|
||||
(c) 2024 Luis Guzmán
|
||||
Author:
|
||||
Luis Guzmán <ark@switnet.org>
|
||||
based on evince's hook
|
||||
|
||||
'''
|
||||
|
||||
from apport.hookutils import *
|
||||
from os import path
|
||||
import re
|
||||
|
||||
def add_info(report):
|
||||
attach_conffiles(report, 'atril')
|
||||
attach_related_packages(report, ['apparmor', 'libapparmor1',
|
||||
'libapparmor-perl', 'apparmor-utils', 'auditd', 'libaudit1'])
|
||||
|
||||
attach_mac_events(report, ['/usr/bin/atril',
|
||||
'/usr/bin/atril-previewer',
|
||||
'/usr/bin/atril-thumbnailer'])
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
diff --git a/debian/rules b/debian/rules
|
||||
old mode 100755
|
||||
new mode 100644
|
||||
index 8a7ff87..655c574
|
||||
--- a/debian/rules
|
||||
+++ b/debian/rules
|
||||
@@ -52,3 +52,9 @@ override_dh_auto_configure:
|
||||
|
||||
get-orig-source:
|
||||
uscan --noconf --force-download --rename --download-current-version --destdir=..
|
||||
+
|
||||
+execute_after_dh_install:
|
||||
+ install -m 0644 -D debian/apparmor-profile debian/atril/etc/apparmor.d/usr.bin.atril
|
||||
+ install -m 0644 -D debian/apparmor-profile.abstraction debian/atril/etc/apparmor.d/abstractions/atril
|
||||
+ install -m 0644 -D debian/atril.apport debian/atril/usr/share/apport/package-hooks/source_atril.py
|
||||
+ dh_apparmor --profile-name=usr.bin.atril -patril
|
||||
|
||||
diff --git a/debian/control b/debian/control
|
||||
index f5bda53..6d72cc9 100644
|
||||
--- a/debian/control
|
||||
+++ b/debian/control
|
||||
@@ -9,6 +9,7 @@ Uploaders: Mike Gabriel <sunweaver@debian.org>,
|
||||
Vangelis Mouhtsis <vangelis@gnugr.org>,
|
||||
Martin Wimpress <code@flexion.org>,
|
||||
Build-Depends: debhelper-compat (= 13),
|
||||
+ dh-apparmor,
|
||||
dpkg-dev (>= 1.16.1.1),
|
||||
gobject-introspection,
|
||||
intltool,
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
arch_get_kernel_flavour () {
|
||||
echo amd64
|
||||
}
|
||||
|
||||
arch_check_usable_kernel () {
|
||||
if echo "$1" | grep -q -e "signed" -e "edge" -e "hwe-@REVISION@"; then return 1; fi
|
||||
if echo "$1" | grep -Eq -- "-(server|generic|virtual|xen|preempt|rt)(-.*)?$"; then return 0; fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
arch_get_kernel () {
|
||||
|
||||
echo "linux-generic"
|
||||
echo "linux-image-generic"
|
||||
|
||||
echo "linux-generic-hwe-@REVISION@"
|
||||
echo "linux-image-generic-hwe-@REVISION@"
|
||||
|
||||
echo "linux-lowlatency"
|
||||
echo "linux-image-lowlatency"
|
||||
|
||||
echo "linux-lowlatency-hwe-@REVISION@"
|
||||
echo "linux-image-lowlatency-hwe-@REVISION@"
|
||||
|
||||
echo "linux-oem-@REVISION@"
|
||||
echo "linux-image-oem-@REVISION@"
|
||||
|
||||
echo "linux-virtual"
|
||||
echo "linux-image-virtual"
|
||||
|
||||
echo "linux-image-extra-virtual"
|
||||
echo "linux-virtual-hwe-@REVISION@"
|
||||
|
||||
echo "linux-image-virtual-hwe-@REVISION@"
|
||||
echo "linux-image-extra-virtual-hwe-@REVISION@"
|
||||
}
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
arch_get_kernel_flavour () {
|
||||
# Should we offer an amd64 kernel?
|
||||
if grep -q '^flags.*\blm\b' "$CPUINFO"; then
|
||||
echo 686-pae amd64 686 586
|
||||
# Should we offer a PAE kernel?
|
||||
elif grep -q '^flags.*\bpae\b' "$CPUINFO"; then
|
||||
echo 686-pae 686 586
|
||||
# Should we offer a 686 kernel?
|
||||
elif grep -q '^flags.*\bfpu\b.*\btsc\b.*\bcx8\b.*\bcmov\b' "$CPUINFO"; then
|
||||
echo 686 586
|
||||
else
|
||||
echo 586
|
||||
fi
|
||||
}
|
||||
|
||||
arch_check_usable_kernel () {
|
||||
if echo "$1" | grep -q -e "signed" -e "edge" -e "hwe-16.04"; then return 1; fi
|
||||
local NAME="$1"
|
||||
|
||||
set -- $2
|
||||
while [ $# -ge 1 ]; do
|
||||
case "$1:$NAME" in
|
||||
*-dbg)
|
||||
return 1
|
||||
;;
|
||||
*-"$1"-pae)
|
||||
# Don't allow -pae suffix, as this requires an
|
||||
# extra CPU feature
|
||||
;;
|
||||
*:*-"$1" | *:*-"$1"-*)
|
||||
# Allow any other hyphenated suffix
|
||||
return 0
|
||||
;;
|
||||
686-*:*-generic | 686-*:*-generic-*)
|
||||
return 0
|
||||
;;
|
||||
686-*:*-virtual | 686-*:*-virtual-*)
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
arch_get_kernel () {
|
||||
imgbase="linux-image"
|
||||
|
||||
set -- $1
|
||||
while [ $# -ge 1 ]; do
|
||||
case $1 in
|
||||
686-*)
|
||||
echo "linux-generic"
|
||||
echo "linux-image-generic"
|
||||
echo "linux-virtual"
|
||||
echo "linux-image-virtual"
|
||||
break
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
--- a/library.sh 2022-07-14 15:09:08.482389439 -0500
|
||||
+++ b/library.sh 2022-07-14 15:19:40.056073944 -0500
|
||||
@@ -345,9 +345,15 @@
|
||||
|
||||
kernel_update_list () {
|
||||
# Use 'uniq' to avoid listing the same kernel more then once
|
||||
- chroot /target apt-cache search "^(kernel|$KERNEL_NAME)-image" | \
|
||||
- cut -d" " -f1 | grep -v "linux-image-2.6" | uniq > "$KERNEL_LIST.unfiltered"
|
||||
- kernels=`sort -r "$KERNEL_LIST.unfiltered" | tr '\n' ' ' | sed -e 's/ $//'`
|
||||
+ (set +e;
|
||||
+ # Hack to get the metapackages in the right order; should be
|
||||
+ # replaced by something better at some point.
|
||||
+ chroot /target apt-cache search ^linux- | grep '^linux-\(amd64\|686\|k7\|generic\|lowlatency\|server\|virtual\|preempt\|rt\|xen\|oem-20.04\|power\|cell\|omap\|omap4\|keystone\)';
|
||||
+ chroot /target apt-cache search ^linux-image- | grep -v '^linux-image-[2-9]\.';
|
||||
+ chroot /target apt-cache search ^kfreebsd-image;
|
||||
+ chroot /target apt-cache search ^gnumach-image) | \
|
||||
+ cut -d" " -f1 | uniq > "$KERNEL_LIST.unfiltered"
|
||||
+ kernels=`< "$KERNEL_LIST.unfiltered" tr '\n' ' ' | sed -e 's/ $//'`
|
||||
for candidate in $kernels; do
|
||||
if [ -n "$FLAVOUR" ]; then
|
||||
if arch_check_usable_kernel "$candidate" "$FLAVOUR"; then
|
||||
|
|
@ -1,108 +0,0 @@
|
|||
diff --git a/kernel/arm64.sh b/kernel/arm64.sh
|
||||
index a5a5ec4a..9d5e07b4 100644
|
||||
--- a/kernel/arm64.sh
|
||||
+++ b/kernel/arm64.sh
|
||||
@@ -1,5 +1,8 @@
|
||||
+# Adjusted for Trisquel: use 'generic' flavour on all supported architectures,
|
||||
+# matching Ubuntu's kernel packaging.
|
||||
+
|
||||
arch_get_kernel_flavour () {
|
||||
- echo "arm64"
|
||||
+ echo "generic"
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -15,5 +18,5 @@ arch_check_usable_kernel () {
|
||||
}
|
||||
|
||||
arch_get_kernel () {
|
||||
- echo "linux-image-arm64"
|
||||
+ echo "linux-image-generic"
|
||||
}
|
||||
diff --git a/kernel/armhf.sh b/kernel/armhf.sh
|
||||
index 389a416d..b998770e 100644
|
||||
--- a/kernel/armhf.sh
|
||||
+++ b/kernel/armhf.sh
|
||||
@@ -1,3 +1,6 @@
|
||||
+# Adjusted for Trisquel: use 'generic' flavour on all supported architectures,
|
||||
+# matching Ubuntu's kernel packaging.
|
||||
+
|
||||
arch_has_lpae () {
|
||||
if grep -q '^Features.*\blpae\b' "$CPUINFO"; then
|
||||
echo y
|
||||
@@ -8,16 +11,13 @@ arch_has_lpae () {
|
||||
|
||||
arch_get_kernel_flavour () {
|
||||
case "$SUBARCH" in
|
||||
- omap|mx5|vexpress)
|
||||
- echo "$SUBARCH armmp"
|
||||
- return 0 ;;
|
||||
generic|efi)
|
||||
case `arch_has_lpae` in
|
||||
y)
|
||||
- echo "armmp-lpae armmp"
|
||||
+ echo "generic-lpae generic"
|
||||
;;
|
||||
n)
|
||||
- echo "armmp"
|
||||
+ echo "generic"
|
||||
;;
|
||||
esac
|
||||
return 0 ;;
|
||||
diff --git a/kernel/ppc64el.sh b/kernel/ppc64el.sh
|
||||
index f21bdab2..2a5a0c5a 100644
|
||||
--- a/kernel/ppc64el.sh
|
||||
+++ b/kernel/ppc64el.sh
|
||||
@@ -1,5 +1,8 @@
|
||||
+# Adjusted for Trisquel: use 'generic' flavour on all supported architectures,
|
||||
+# matching Ubuntu's kernel packaging.
|
||||
+
|
||||
arch_get_kernel_flavour () {
|
||||
- echo powerpc64le
|
||||
+ echo generic
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -8,5 +11,5 @@ arch_check_usable_kernel () {
|
||||
}
|
||||
|
||||
arch_get_kernel () {
|
||||
- echo "linux-image-powerpc64le"
|
||||
+ echo "linux-image-generic"
|
||||
}
|
||||
diff --git a/kernel/riscv64.sh b/kernel/riscv64.sh
|
||||
index 9fa410e0..982555ef 100644
|
||||
--- a/kernel/riscv64.sh
|
||||
+++ b/kernel/riscv64.sh
|
||||
@@ -4,10 +4,13 @@
|
||||
|
||||
# The riscv64 architecture has only a single unified multiplatform kernel
|
||||
# (which uses "riscv64" as its flavour name). Therefore we don't need to
|
||||
-# differentiate between multiple flavours here.
|
||||
+# differentiate between multiple flavours here. (Debian)
|
||||
+
|
||||
+## Adjusted for Trisquel: use 'generic' flavour on all supported architectures,
|
||||
+## matching Ubuntu's kernel packaging.
|
||||
|
||||
arch_get_kernel_flavour () {
|
||||
- echo riscv64
|
||||
+ echo generic
|
||||
}
|
||||
|
||||
arch_check_usable_kernel () {
|
||||
@@ -17,7 +20,7 @@ arch_check_usable_kernel () {
|
||||
# Don't show debug packages in the kernel selection list.
|
||||
return 1
|
||||
;;
|
||||
- *-riscv64 | *-riscv64-*)
|
||||
+ *-generic | *-generic-*)
|
||||
return 0
|
||||
;;
|
||||
*)
|
||||
@@ -28,5 +31,5 @@ arch_check_usable_kernel () {
|
||||
|
||||
arch_get_kernel () {
|
||||
# parameters: $1=flavour
|
||||
- echo "linux-image-riscv64"
|
||||
+ echo "linux-image-generic"
|
||||
}
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
diff --git a/kernel/tests/arm64/foundation.test b/kernel/tests/arm64/foundation.test
|
||||
index 30027845..882eb192 100644
|
||||
--- a/kernel/tests/arm64/foundation.test
|
||||
+++ b/kernel/tests/arm64/foundation.test
|
||||
@@ -1,12 +1,12 @@
|
||||
subarch generic
|
||||
cpuinfo foundation.cpuinfo
|
||||
-flavour arm64
|
||||
+flavour generic
|
||||
majors 3.10
|
||||
machine aarch64
|
||||
kernel-3.10 \
|
||||
- linux-image-arm64
|
||||
+ linux-image-generic
|
||||
usable \
|
||||
- linux-image-arm64 \
|
||||
- linux-image-3.14-1-arm64
|
||||
+ linux-image-generic \
|
||||
+ linux-image-3.14-1-generic
|
||||
unusable \
|
||||
- linux-image-3.14-1-arm64-dbg
|
||||
+ linux-image-3.14-1-generic-dbg
|
||||
diff --git a/kernel/tests/arm64/mustang.test b/kernel/tests/arm64/mustang.test
|
||||
index 80ab19f7..e58c06aa 100644
|
||||
--- a/kernel/tests/arm64/mustang.test
|
||||
+++ b/kernel/tests/arm64/mustang.test
|
||||
@@ -1,12 +1,12 @@
|
||||
subarch generic
|
||||
cpuinfo mustang.cpuinfo
|
||||
-flavour arm64
|
||||
+flavour generic
|
||||
majors 3.10
|
||||
machine aarch64
|
||||
kernel-3.10 \
|
||||
- linux-image-arm64
|
||||
+ linux-image-generic
|
||||
usable \
|
||||
- linux-image-arm64 \
|
||||
- linux-image-3.14-1-arm64
|
||||
+ linux-image-generic \
|
||||
+ linux-image-3.14-1-generic
|
||||
unusable \
|
||||
- linux-image-3.14-1-arm64-dbg
|
||||
+ linux-image-3.14-1-generic-dbg
|
||||
diff --git a/kernel/tests/arm64/qemu-virt.test b/kernel/tests/arm64/qemu-virt.test
|
||||
index 87c39c47..2d880f5c 100644
|
||||
--- a/kernel/tests/arm64/qemu-virt.test
|
||||
+++ b/kernel/tests/arm64/qemu-virt.test
|
||||
@@ -1,12 +1,12 @@
|
||||
subarch generic
|
||||
cpuinfo qemu-virt.cpuinfo
|
||||
-flavour arm64
|
||||
+flavour generic
|
||||
majors 3.10
|
||||
machine aarch64
|
||||
kernel-3.10 \
|
||||
- linux-image-arm64
|
||||
+ linux-image-generic
|
||||
usable \
|
||||
- linux-image-arm64 \
|
||||
- linux-image-3.14-1-arm64
|
||||
+ linux-image-generic \
|
||||
+ linux-image-3.14-1-generic
|
||||
unusable \
|
||||
- linux-image-3.14-1-arm64-dbg
|
||||
+ linux-image-3.14-1-generic-dbg
|
||||
|
|
@ -1,143 +0,0 @@
|
|||
diff --git a/kernel/tests/armhf/efikamx.test b/kernel/tests/armhf/efikamx.test
|
||||
deleted file mode 100644
|
||||
index 3fa4eeef..00000000
|
||||
--- a/kernel/tests/armhf/efikamx.test
|
||||
+++ /dev/null
|
||||
@@ -1,19 +0,0 @@
|
||||
-subarch mx5
|
||||
-cpuinfo efikamx.cpuinfo
|
||||
-majors 5.7
|
||||
-flavour mx5 armmp
|
||||
-kernel-5.7 linux-image-mx5 linux-image-armmp
|
||||
-usable \
|
||||
- linux-image-mx5 \
|
||||
- linux-image-5.7.0-1-mx5 \
|
||||
- linux-image-armmp \
|
||||
- linux-image-5.7.0-1-armmp
|
||||
-unusable \
|
||||
- linux-image-armmp-lpae \
|
||||
- linux-image-netwinder \
|
||||
- linux-image-orion5x \
|
||||
- linux-image-rpc \
|
||||
- linux-image-s3c2410 \
|
||||
- linux-image-kirkwood \
|
||||
- linux-image-vexpress \
|
||||
- linux-image-5.7.0-1-armmp-dbg
|
||||
diff --git a/kernel/tests/armhf/highbank.test b/kernel/tests/armhf/highbank.test
|
||||
index 1f68d466..37a42821 100644
|
||||
--- a/kernel/tests/armhf/highbank.test
|
||||
+++ b/kernel/tests/armhf/highbank.test
|
||||
@@ -1,14 +1,14 @@
|
||||
subarch generic
|
||||
cpuinfo highbank.cpuinfo
|
||||
majors 5.7
|
||||
-flavour armmp
|
||||
+flavour generic
|
||||
kernel-5.7 \
|
||||
- linux-image-armmp
|
||||
+ linux-image-generic
|
||||
usable \
|
||||
- linux-image-armmp \
|
||||
- linux-image-5.7.0-1-armmp
|
||||
+ linux-image-generic \
|
||||
+ linux-image-5.7.0-1-generic
|
||||
unusable \
|
||||
- linux-image-armmp-lpae \
|
||||
+ linux-image-generic-lpae \
|
||||
linux-image-netwinder \
|
||||
linux-image-orion5x \
|
||||
linux-image-rpc \
|
||||
@@ -16,4 +16,4 @@ unusable \
|
||||
linux-image-kirkwood \
|
||||
linux-image-mx5 \
|
||||
linux-image-vexpress \
|
||||
- linux-image-5.7.0-1-armmp-dbg
|
||||
+ linux-image-5.7.0-1-generic-dbg
|
||||
diff --git a/kernel/tests/armhf/midway-no-lpae.test b/kernel/tests/armhf/midway-no-lpae.test
|
||||
index 04db5356..056ff08f 100644
|
||||
--- a/kernel/tests/armhf/midway-no-lpae.test
|
||||
+++ b/kernel/tests/armhf/midway-no-lpae.test
|
||||
@@ -1,14 +1,14 @@
|
||||
subarch generic
|
||||
cpuinfo midway-no-lpae.cpuinfo
|
||||
majors 5.7
|
||||
-flavour armmp
|
||||
+flavour generic
|
||||
kernel-5.7 \
|
||||
- linux-image-armmp
|
||||
+ linux-image-generic
|
||||
usable \
|
||||
- linux-image-armmp \
|
||||
- linux-image-5.7.0-1-armmp
|
||||
+ linux-image-generic \
|
||||
+ linux-image-5.7.0-1-generic
|
||||
unusable \
|
||||
- linux-image-armmp-lpae \
|
||||
+ linux-image-generic-lpae \
|
||||
linux-image-netwinder \
|
||||
linux-image-orion5x \
|
||||
linux-image-rpc \
|
||||
@@ -16,4 +16,4 @@ unusable \
|
||||
linux-image-kirkwood \
|
||||
linux-image-mx5 \
|
||||
linux-image-vexpress \
|
||||
- linux-image-5.7.0-1-armmp-dbg
|
||||
+ linux-image-5.7.0-1-generic-dbg
|
||||
diff --git a/kernel/tests/armhf/midway.test b/kernel/tests/armhf/midway.test
|
||||
index 6a789a1b..a5213a4a 100644
|
||||
--- a/kernel/tests/armhf/midway.test
|
||||
+++ b/kernel/tests/armhf/midway.test
|
||||
@@ -1,15 +1,15 @@
|
||||
subarch generic
|
||||
cpuinfo midway.cpuinfo
|
||||
majors 5.7
|
||||
-flavour armmp-lpae armmp
|
||||
+flavour generic-lpae generic
|
||||
kernel-5.7 \
|
||||
- linux-image-armmp-lpae \
|
||||
- linux-image-armmp
|
||||
+ linux-image-generic-lpae \
|
||||
+ linux-image-generic
|
||||
usable \
|
||||
- linux-image-armmp \
|
||||
- linux-image-5.7.0-1-armmp \
|
||||
- linux-image-armmp-lpae \
|
||||
- linux-image-5.7.0-1-armmp-lpae
|
||||
+ linux-image-generic \
|
||||
+ linux-image-5.7.0-1-generic \
|
||||
+ linux-image-generic-lpae \
|
||||
+ linux-image-5.7.0-1-generic-lpae
|
||||
unusable \
|
||||
linux-image-netwinder \
|
||||
linux-image-orion5x \
|
||||
@@ -18,4 +18,4 @@ unusable \
|
||||
linux-image-kirkwood \
|
||||
linux-image-mx5 \
|
||||
linux-image-vexpress \
|
||||
- linux-image-5.7.0-1-armmp-dbg
|
||||
+ linux-image-5.7.0-1-generic-dbg
|
||||
diff --git a/kernel/tests/armhf/vexpress.test b/kernel/tests/armhf/vexpress.test
|
||||
deleted file mode 100644
|
||||
index 19d38dd4..00000000
|
||||
--- a/kernel/tests/armhf/vexpress.test
|
||||
+++ /dev/null
|
||||
@@ -1,19 +0,0 @@
|
||||
-subarch vexpress
|
||||
-cpuinfo vexpress.cpuinfo
|
||||
-majors 5.7
|
||||
-flavour vexpress armmp
|
||||
-kernel-5.7 linux-image-vexpress linux-image-armmp
|
||||
-usable \
|
||||
- linux-image-vexpress \
|
||||
- linux-image-3.2.0-4-vexpress \
|
||||
- linux-image-armmp \
|
||||
- linux-image-5.7.0-1-armmp
|
||||
-unusable \
|
||||
- linux-image-armmp-lpae \
|
||||
- linux-image-netwinder \
|
||||
- linux-image-orion5x \
|
||||
- linux-image-rpc \
|
||||
- linux-image-s3c2410 \
|
||||
- linux-image-kirkwood \
|
||||
- linux-image-mx5 \
|
||||
- linux-image-5.7.0-1-armmp-dbg
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
diff --git a/kernel/tests/ppc64el/postal.test b/kernel/tests/ppc64el/postal.test
|
||||
index 9878d14f..33f7c0e3 100644
|
||||
--- a/kernel/tests/ppc64el/postal.test
|
||||
+++ b/kernel/tests/ppc64el/postal.test
|
||||
@@ -1,9 +1,9 @@
|
||||
subarch chrp_ibm
|
||||
cpuinfo postal.cpuinfo
|
||||
majors 5.7
|
||||
-flavour powerpc64le
|
||||
+flavour generic
|
||||
kernel-5.7 \
|
||||
- linux-image-powerpc64le
|
||||
+ linux-image-generic
|
||||
usable \
|
||||
- linux-image-powerpc64le \
|
||||
- linux-image-3.14-1-powerpc64le
|
||||
+ linux-image-generic \
|
||||
+ linux-image-3.14-1-generic
|
||||
diff --git a/kernel/tests/ppc64el/powernv.test b/kernel/tests/ppc64el/powernv.test
|
||||
index 3e7d2250..77b5505a 100644
|
||||
--- a/kernel/tests/ppc64el/powernv.test
|
||||
+++ b/kernel/tests/ppc64el/powernv.test
|
||||
@@ -1,9 +1,9 @@
|
||||
subarch chrp_ibm
|
||||
cpuinfo powernv.cpuinfo
|
||||
majors 5.7
|
||||
-flavour powerpc64le
|
||||
+flavour generic
|
||||
kernel-5.7 \
|
||||
- linux-image-powerpc64le
|
||||
+ linux-image-generic
|
||||
usable \
|
||||
- linux-image-powerpc64le \
|
||||
- linux-image-3.14-1-powerpc64le
|
||||
+ linux-image-generic \
|
||||
+ linux-image-3.14-1-generic
|
||||
|
|
@ -1,91 +0,0 @@
|
|||
diff -ru a/bleachbit.spec b/bleachbit.spec
|
||||
--- a/bleachbit.spec 2020-03-22 21:42:04.000000000 +0100
|
||||
+++ b/bleachbit.spec 2021-06-25 23:06:33.113952262 +0200
|
||||
@@ -72,7 +72,7 @@
|
||||
Delete traces of your activities and other junk files to free disk
|
||||
space and maintain privacy. BleachBit identifies and erases
|
||||
broken menu entries, cache, cookies, localizations, recent document
|
||||
-lists, and temporary files in Firefox, Google Chrome, Flash, and 60
|
||||
+lists, and temporary files in Firefox, LibreOffice and 60
|
||||
other applications.
|
||||
|
||||
Shred files to prevent recovery, and wipe free disk space to
|
||||
diff -ru a/cleaners/localizations.xml b/cleaners/localizations.xml
|
||||
--- a/cleaners/localizations.xml 2020-03-22 21:42:04.000000000 +0100
|
||||
+++ b/cleaners/localizations.xml 2021-06-25 23:06:33.117952276 +0200
|
||||
@@ -6,9 +6,6 @@
|
||||
the parent element, so <path location="/usr"><path location="share"/></path>
|
||||
effects elements in /usr/share.-->
|
||||
<path location="/usr/lib">
|
||||
- <!-- This filter deletes /usr/lib/chromium/locales/*.pak, where * is every
|
||||
- valid locale not specifically excluded in the configuration.-->
|
||||
- <path location="chromium/locales" filter="*.pak"/>
|
||||
<path location="libreoffice/share">
|
||||
<path location="autocorr" filter="acor_*.dat"/>
|
||||
<path location="fingerprint" filter="*.lm"/>
|
||||
diff -ru a/debian/bleachbit.1 b/debian/bleachbit.1
|
||||
--- a/debian/bleachbit.1 2020-04-01 06:08:31.000000000 +0200
|
||||
+++ b/debian/bleachbit.1 2021-06-25 23:06:33.117952276 +0200
|
||||
@@ -8,8 +8,8 @@
|
||||
BleachBit deletes unnecessary files to free valuable disk space,
|
||||
maintain privacy, and remove junk. Rid your system of old clutter
|
||||
including cache, temporary files, cookies, and broken shortcuts.
|
||||
-It wipes clean Bash, Beagle, Epiphany, Firefox, Flash, Java, KDE,
|
||||
-OpenOffice.org, Opera, RealPlayer, rpmbuild, VIM, XChat, and more.
|
||||
+It wipes clean Bash, Beagle, Epiphany, Firefox, Java, KDE,
|
||||
+OpenOffice.org, RealPlayer, rpmbuild, VIM, XChat, and more.
|
||||
.PP
|
||||
This is the command line interface for BleachBit.
|
||||
.SH OPTIONS
|
||||
diff -ru a/debian/control b/debian/control
|
||||
--- a/debian/control 2020-04-01 06:08:31.000000000 +0200
|
||||
+++ b/debian/control 2021-06-25 23:06:33.117952276 +0200
|
||||
@@ -29,8 +29,8 @@
|
||||
privacy, and remove junk. It removes cache, Internet history, temporary files,
|
||||
cookies, and broken shortcuts.
|
||||
.
|
||||
- It handles cleaning of Adobe Reader, Bash, Beagle, Epiphany, Firefox, Flash,
|
||||
- GIMP, Google Earth, Java, KDE, OpenOffice.org, Opera, RealPlayer, rpmbuild,
|
||||
+ It handles cleaning of Bash, Beagle, Epiphany, Firefox,
|
||||
+ GIMP, Java, KDE, OpenOffice.org, RealPlayer, rpmbuild,
|
||||
Second Life Viewer, VIM, XChat, and more.
|
||||
.
|
||||
Beyond simply erasing junk files, BleachBit wipes free disk space (to hide
|
||||
diff -ru a/doc/cleaner_markup_language.xsd b/doc/cleaner_markup_language.xsd
|
||||
--- a/doc/cleaner_markup_language.xsd 2020-03-22 21:42:04.000000000 +0100
|
||||
+++ b/doc/cleaner_markup_language.xsd 2021-06-25 23:06:33.117952276 +0200
|
||||
@@ -125,11 +125,6 @@
|
||||
<xs:enumeration value="apt.clean"/>
|
||||
<xs:enumeration value="apt.autoclean"/>
|
||||
<xs:enumeration value="apt.autoremove"/>
|
||||
- <xs:enumeration value="chrome.autofill"/>
|
||||
- <xs:enumeration value="chrome.databases_db"/>
|
||||
- <xs:enumeration value="chrome.favicons"/>
|
||||
- <xs:enumeration value="chrome.history"/>
|
||||
- <xs:enumeration value="chrome.keywords"/>
|
||||
<xs:enumeration value="delete"/>
|
||||
<xs:enumeration value="dnf.autoremove"/>
|
||||
<xs:enumeration value="dnf.clean_all"/>
|
||||
diff -ru source/setup.py source_fix/setup.py
|
||||
--- a/setup.py 2021-11-13 15:05:47.000000000 -0600
|
||||
+++ b/setup.py 2022-04-10 16:34:51.418739031 -0500
|
||||
@@ -47,7 +47,7 @@
|
||||
import bleachbit.FileUtilities
|
||||
|
||||
APP_NAME = "BleachBit - Free space and maintain privacy"
|
||||
-APP_DESCRIPTION = "BleachBit frees space and maintains privacy by quickly wiping files you don't need and didn't know you had. Supported applications include Edge, Firefox, Google Chrome, VLC, and many others."
|
||||
+APP_DESCRIPTION = "BleachBit frees space and maintains privacy by quickly wiping files you don't need and didn't know you had. Supported applications include Firefox, VLC, and many others."
|
||||
|
||||
#
|
||||
# begin win32com.shell workaround for py2exe
|
||||
diff --git a/PKG-INFO b/PKG-INFO
|
||||
index e7605a5c..1cb44f88 100644
|
||||
--- a/PKG-INFO
|
||||
+++ b/PKG-INFO
|
||||
@@ -10,5 +10,5 @@ Download-URL: https://www.bleachbit.org/download
|
||||
Platform: Linux and Windows; Python v2.6 and 2.7; GTK v3.12+
|
||||
License-File: COPYING
|
||||
|
||||
-BleachBit frees space and maintains privacy by quickly wiping files you don't need and didn't know you had. Supported applications include Edge, Firefox, Google Chrome, VLC, and many others.
|
||||
+BleachBit frees space and maintains privacy by quickly wiping files you don't need and didn't know you had. Supported applications include Abrowser, VLC, and many others.
|
||||
|
||||
|
|
@ -1,123 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
BleachBit
|
||||
Copyright (C) 2013-2014 Andrew Ziem
|
||||
http://bleachbit.sourceforge.net
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-->
|
||||
<cleaner id="icecat_xml">
|
||||
<label>Icecat (XML)</label>
|
||||
<description>Web browser</description>
|
||||
<running type="exe">icecat.exe</running>
|
||||
<running type="exe">icecat-bin</running>
|
||||
<option id="cache">
|
||||
<label>Cache</label>
|
||||
<description>Delete the web cache, which reduces time to display revisited pages</description>
|
||||
<action command="delete" search="walk.files" path="~/.mozilla/icecat*/*/Cache/"/>
|
||||
<action command="delete" search="walk.files" path="$localappdata\Mozilla\Icecat\Profiles\*\Cache\"/>
|
||||
<action command="delete" search="walk.files" path="$localappdata\Mozilla\Icecat\Profiles\*\OfflineCache\"/>
|
||||
<action command="delete" search="walk.files" path="$localappdata\Mozilla\Icecat\Profiles\*\mozilla-media-cache\"/>
|
||||
<action command="delete" search="walk.files" path="$localappdata\Mozilla\Icecat\Profiles\*\startupCache\"/>
|
||||
|
||||
<!-- Windows 8 -->
|
||||
<action command="delete" search="walk.files" path="$localappdata\Mozilla\Icecat\Profiles\*\jumpListCache\"/>
|
||||
|
||||
<!-- Also matches thumbnails-old -->
|
||||
<action command="delete" search="walk.files" path="$localappdata\Mozilla\Icecat\Profiles\*\thumbnails*\"/>
|
||||
|
||||
<!-- https://bugzilla.mozilla.org/show_bug.cgi?id=239254 -->
|
||||
<action command="delete" search="walk.files" path="~/.cache/mozilla/icecat*/*/"/>
|
||||
|
||||
<!-- Favicon cache (stored when you drag & drop a page into a folder. Windows-only(?).) -->
|
||||
<action command="delete" search="walk.files" path="$localappdata\Mozilla\Icecat\Profiles\*\shortcutCache\"/>
|
||||
</option>
|
||||
<option id="cookies">
|
||||
<label>Cookies</label>
|
||||
<description>Delete cookies, which contain information such as web site preferences, authentication, and tracking identification</description>
|
||||
<action command="delete" search="glob" path="~/.mozilla/icecat*/*/cookies.sqlite"/>
|
||||
<action command="delete" search="glob" path="~/.mozilla/icecat*/*/cookies.txt"/>
|
||||
<action command="delete" search="glob" path="$APPDATA\Mozilla\Icecat\Profiles\*\cookies.sqlite"/>
|
||||
<action command="delete" search="glob" path="$APPDATA\Mozilla\Icecat\Profiles\*\cookies.txt"/>
|
||||
</option>
|
||||
<option id="crash_reports">
|
||||
<label>Crash reports</label>
|
||||
<description>Delete the files</description>
|
||||
<action command="delete" search="walk.files" path="~/.mozilla/icecat*/Crash Reports/"/>
|
||||
<action command="delete" search="walk.files" path="$APPDATA\Mozilla\Icecat\Crash Reports\"/>
|
||||
</option>
|
||||
<option id="dom">
|
||||
<label>DOM Storage</label>
|
||||
<description>Delete HTML5 cookies</description>
|
||||
<action command="delete" search="glob" path="~/.mozilla/icecat*/*/webappsstore.sqlite"/>
|
||||
<action command="delete" search="glob" path="$APPDATA\Mozilla\Icecat\Profiles\*\webappsstore.sqlite"/>
|
||||
</option>
|
||||
<option id="download_history">
|
||||
<label>Download history</label>
|
||||
<description>List of files downloaded</description>
|
||||
<action command="delete" search="glob" path="~/.mozilla/icecat*/*/downloads.sqlite"/>
|
||||
<action command="delete" search="glob" path="~/.mozilla/icecat*/*/downloads.rdf"/>
|
||||
<action command="delete" search="glob" path="$APPDATA\Mozilla\Icecat\Profiles\*\downloads.sqlite"/>
|
||||
<action command="delete" search="glob" path="$APPDATA\Mozilla\Icecat\Profiles\*\downloads.rdf"/>
|
||||
</option>
|
||||
<option id="forms">
|
||||
<label>Form history</label>
|
||||
<description>A history of forms entered in web sites and in the Search bar</description>
|
||||
<action command="delete" search="glob" path="~/.mozilla/icecat*/*/formhistory.sqlite"/>
|
||||
<action command="delete" search="glob" path="~/.mozilla/icecat*/*/formhistory.dat"/>
|
||||
<action command="delete" search="glob" path="$APPDATA\Mozilla\Icecat\Profiles\*\formhistory.sqlite"/>
|
||||
<action command="delete" search="glob" path="$APPDATA\Mozilla\Icecat\Profiles\*\formhistory.dat"/>
|
||||
</option>
|
||||
<option id="passwords">
|
||||
<label>Passwords</label>
|
||||
<description>A database of usernames and passwords as well as a list of sites that should not store passwords</description>
|
||||
<action command="delete" search="glob" path="~/.mozilla/icecat*/*/signons.sqlite"/>
|
||||
<action command="delete" search="glob" path="~/.mozilla/icecat*/*/signons.txt"/>
|
||||
<action command="delete" search="glob" path="~/.mozilla/icecat*/*/signons[2-3].txt"/>
|
||||
<action command="delete" search="glob" path="$APPDATA\Mozilla\Icecat\Profiles\*\signons.sqlite"/>
|
||||
<action command="delete" search="glob" path="$APPDATA\Mozilla\Icecat\Profiles\*\signons.txt"/>
|
||||
<action command="delete" search="glob" path="$APPDATA\Mozilla\Icecat\Profiles\*\signons[2-3].txt"/>
|
||||
</option>
|
||||
<option id="session_restore">
|
||||
<label>Session restore</label>
|
||||
<description>Loads the initial session after the browser closes or crashes</description>
|
||||
<action command="delete" search="glob" path="~/.mozilla/icecat*/*/sessionstore.js"/>
|
||||
<action command="delete" search="glob" path="~/.mozilla/icecat*/*/sessionstore.bak"/>
|
||||
<action command="delete" search="glob" path="$APPDATA\Mozilla\Icecat\Profiles\*\sessionstore.js"/>
|
||||
<action command="delete" search="glob" path="$APPDATA\Mozilla\Icecat\Profiles\*\sessionstore.bak"/>
|
||||
</option>
|
||||
<option id="site_preferences">
|
||||
<label>Site preferences</label>
|
||||
<description>Settings for individual sites</description>
|
||||
<action command="delete" search="glob" path="~/.mozilla/icecat*/*/content-prefs.sqlite"/>
|
||||
<action command="delete" search="glob" path="$APPDATA\Mozilla\Icecat\Profiles\*\content-prefs.sqlite"/>
|
||||
</option>
|
||||
<option id="url_history">
|
||||
<label>URL history</label>
|
||||
<description>List of visited web pages</description>
|
||||
<action command="delete" search="glob" path="~/.mozilla/icecat*/*/places.sqlite"/>
|
||||
<action command="delete" search="glob" path="~/.mozilla/icecat*/*/history.dat"/>
|
||||
<action command="delete" search="glob" path="$APPDATA\Mozilla\Icecat\Profiles\*\places.sqlite"/>
|
||||
<action command="delete" search="glob" path="$APPDATA\Mozilla\Icecat\Profiles\*\history.dat"/>
|
||||
</option>
|
||||
<option id="vacuum">
|
||||
<label>Vacuum</label>
|
||||
<description>Clean database fragmentation to reduce space and improve speed without removing any data</description>
|
||||
<action command="sqlite.vacuum" search="glob" path="~/.mozilla/icecat*/*/*.sqlite"/>
|
||||
<action command="sqlite.vacuum" search="glob" path="$APPDATA\Mozilla\Icecat\Profiles\*\*.sqlite"/>
|
||||
<action command="sqlite.vacuum" search="glob" path="$localappdata\Mozilla\Icecat\Profiles\*\*.sqlite"/>
|
||||
</option>
|
||||
</cleaner>
|
||||
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
|
@ -1,30 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
PREREQ=""
|
||||
DESCRIPTION="Enabling Abrowser apparmor profile..."
|
||||
|
||||
prereqs()
|
||||
{
|
||||
echo "$PREREQ"
|
||||
}
|
||||
|
||||
case $1 in
|
||||
# get pre-requisites
|
||||
prereqs)
|
||||
prereqs
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
. /scripts/casper-functions
|
||||
|
||||
log_begin_msg "$DESCRIPTION"
|
||||
|
||||
cat << EOF > /root/etc/rc.local
|
||||
#!/bin/sh
|
||||
# Enable apparmor profile during live session to allow Abrowser to create user namespaces
|
||||
[ -d /rofs ] && apparmor_parser -a /etc/apparmor.d/abrowser
|
||||
EOF
|
||||
chmod 755 /root/etc/rc.local
|
||||
|
||||
log_end_msg
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
diff --git a/scripts/casper b/scripts/casper
|
||||
index 36a724d2..1b9a6faf 100644
|
||||
--- a/scripts/casper
|
||||
+++ b/scripts/casper
|
||||
@@ -379,18 +379,18 @@ do_interactive_netmount() {
|
||||
# maybe make livecd-rootfs embed something in the casper initrd?
|
||||
case $PRETTY_NAME in
|
||||
*development*)
|
||||
- server_url=http://cdimage.ubuntu.com/ubuntu-server/daily-live/current/$UBUNTU_CODENAME-live-server-$DPKG_ARCH.iso
|
||||
- desktop_url=http://cdimage.ubuntu.com/daily-live/current/$UBUNTU_CODENAME-desktop-$DPKG_ARCH.iso
|
||||
+ server_url=""
|
||||
+ desktop_url=""
|
||||
;;
|
||||
*)
|
||||
case $DPKG_ARCH in
|
||||
amd64)
|
||||
- server_url=https://releases.ubuntu.com/$UBUNTU_CODENAME/ubuntu-$VERSION_ID-latest-live-server-$DPKG_ARCH.iso
|
||||
- desktop_url=https://releases.ubuntu.com/$UBUNTU_CODENAME/ubuntu-$VERSION_ID-latest-desktop-$DPKG_ARCH.iso
|
||||
+ server_url=http://cdimage.trisquel.org/trisquel-images/${ID}-netinst_${VERSION_ID}_${DPKG_ARCH}.iso
|
||||
+ desktop_url=http://cdimage.trisquel.org/trisquel-images/${ID}_${VERSION_ID}_${DPKG_ARCH}.iso
|
||||
;;
|
||||
*)
|
||||
- server_url=http://cdimage.ubuntu.com/releases/$UBUNTU_CODENAME/release/ubuntu-$VERSION_ID-latest-live-server-$DPKG_ARCH.iso
|
||||
- desktop_url=http://cdimage.ubuntu.com/releases/$UBUNTU_CODENAME/release/ubuntu-$VERSION_ID-latest-desktop-$DPKG_ARCH.iso
|
||||
+ server_url=http://cdimage.trisquel.org/trisquel-images/${ID}-netinst_${VERSION_ID}_${DPKG_ARCH}.iso
|
||||
+ desktop_url=http://cdimage.trisquel.org/trisquel-images/${ID}_${VERSION_ID}_${DPKG_ARCH}.iso
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
|
@ -1,96 +0,0 @@
|
|||
diff --git a/src/modules/frontend/newt/newt.c b/src/modules/frontend/newt/newt.c
|
||||
index 838ff2f..ee754a2 100644
|
||||
--- a/src/modules/frontend/newt/newt.c
|
||||
+++ b/src/modules/frontend/newt/newt.c
|
||||
@@ -72,6 +72,47 @@ struct newt_data {
|
||||
struct question *scale_info;
|
||||
};
|
||||
|
||||
+struct newtColors newtAltColorPalette = {
|
||||
+ /*"white", "blue",*/ /* root fg, bg */
|
||||
+ "white", "black", /* root fg, bg */
|
||||
+ /*"black", "lightgray",*/ /* border fg, bg */
|
||||
+ "white", "black", /* border fg, bg */
|
||||
+ /*"black", "lightgray",*/ /* window fg, bg */
|
||||
+ "white", "black", /* window fg, bg */
|
||||
+ /*"white", "black",*/ /* shadow fg, bg */
|
||||
+ "white", "black", /* shadow fg, bg */
|
||||
+ /*"red", "lightgray",*/ /* title fg, bg */
|
||||
+ "yellow", "black", /* title fg, bg */
|
||||
+ /*"brightred", "gray",*/ /* button fg, bg */
|
||||
+ "black", "lightgray", /* button fg, bg */
|
||||
+ "gray", "brightred", /* active button fg, bg */
|
||||
+ "white", "gray", /* checkbox fg, bg */
|
||||
+ /*"yellow", "brown",*/ /* active checkbox fg, bg */
|
||||
+ "black", "lightgray", /* active checkbox fg, bg */
|
||||
+ /*"yellow", "blue",*/ /* entry box fg, bg */
|
||||
+ "white", "black", /* entry box fg, bg */
|
||||
+ /*"blue", "lightgray",*/ /* label fg, bg */
|
||||
+ "brightred", "black", /* label fg, bg */
|
||||
+ /*"black", "lightgray",*/ /* listbox fg, bg */
|
||||
+ "white", "black", /* listbox fg, bg */
|
||||
+ "yellow", "blue", /* active listbox fg, bg */
|
||||
+ /*"black", "lightgray",*/ /* textbox fg, bg */
|
||||
+ "white", "black", /* textbox fg, bg */
|
||||
+ "lightgray", "black", /* active textbox fg, bg */
|
||||
+ /*"white", "blue",*/ /* help line */
|
||||
+ "white", "black", /* help line */
|
||||
+ "yellow", "blue", /* root text */
|
||||
+ /*"blue",*/ /* scale full */
|
||||
+ "black", /* scale full */
|
||||
+ /*"red",*/ /* scale empty */
|
||||
+ "blue", /* scale empty */
|
||||
+ "blue", "lightgray", /* disabled entry fg, bg */
|
||||
+ /*"black", "lightgray",*/ /* compact button fg, bg */
|
||||
+ "white", "black", /* compact button fg, bg */
|
||||
+ "black", "lightgray", /* active & sel listbox */
|
||||
+ "black", "brown" /* selected listbox */
|
||||
+};
|
||||
+
|
||||
typedef int (newt_handler)(struct frontend *obj, struct question *q);
|
||||
|
||||
struct newt_help_callback_data {
|
||||
@@ -153,6 +194,7 @@ cdebconf_newt_setup(void)
|
||||
{
|
||||
SLang_init_tty(0, 1, 0); /* disable flow control */
|
||||
newtInit();
|
||||
+ newtSetColors(newtAltColorPalette);
|
||||
newtCls();
|
||||
}
|
||||
|
||||
@@ -1078,7 +1120,7 @@ newt_handler_error(struct frontend *obj, struct question *q)
|
||||
{
|
||||
char *oldrootBg, *oldshadowBg, *oldhelpLineFg, *oldhelpLineBg;
|
||||
int ret;
|
||||
- struct newtColors palette = newtDefaultColorPalette;
|
||||
+ struct newtColors palette = newtAltColorPalette;
|
||||
|
||||
oldrootBg = palette.rootBg;
|
||||
oldshadowBg = palette.shadowBg;
|
||||
@@ -1148,22 +1190,15 @@ newt_initialize(struct frontend *obj, struct configuration *conf)
|
||||
{
|
||||
int width = 80, height = 24;
|
||||
const char *palette;
|
||||
- const char *base = "/etc/newt/palette";
|
||||
- char *path;
|
||||
|
||||
obj->interactive = 1;
|
||||
obj->data = calloc(1, sizeof(struct newt_data));
|
||||
SLang_init_tty(0, 1, 0); /* disable flow control */
|
||||
- palette = getenv("FRONTEND_BACKGROUND");
|
||||
- if (palette != NULL && asprintf(&path, "%s.%s", base, palette) >= 0) {
|
||||
- /* Establish a symlink from /etc/newt/palette to
|
||||
- * /etc/newt/palette.$FRONTEND_BACKGROUND
|
||||
- */
|
||||
- unlink(base);
|
||||
- link(path, base);
|
||||
- free(path);
|
||||
- }
|
||||
newtInit();
|
||||
+ palette = getenv("FRONTEND_BACKGROUND");
|
||||
+ if (palette == NULL || strcmp(palette, "dark") != 0)
|
||||
+ newtAltColorPalette = newtDefaultColorPalette;
|
||||
+ newtSetColors(newtAltColorPalette);
|
||||
newtGetScreenSize(&width, &height);
|
||||
newtFinished();
|
||||
return DC_OK;
|
||||
|
|
@ -1,96 +0,0 @@
|
|||
diff --git a/debian/control b/debian/control
|
||||
index 0b67d83..de3d32e 100644
|
||||
--- a/debian/control
|
||||
+++ b/debian/control
|
||||
@@ -83,7 +82,6 @@ Priority: standard
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Provides: debconf-2.0
|
||||
Package-Type: udeb
|
||||
-Build-Profiles: <!noudeb>
|
||||
Description: Debian Configuration Management System (C-implementation)
|
||||
Debconf is a configuration management system for Debian packages. It is
|
||||
used by some packages to prompt you for information before they are
|
||||
@@ -99,7 +97,6 @@ Section: debian-installer
|
||||
Priority: standard
|
||||
Depends: cdebconf-udeb, ${misc:Depends}
|
||||
Package-Type: udeb
|
||||
-Build-Profiles: <!noudeb>
|
||||
XB-Installer-Menu-Item: 93000
|
||||
Description: Change debconf priority
|
||||
This is a udeb that allows you to change the priority limit for the
|
||||
@@ -110,7 +107,6 @@ Architecture: any
|
||||
Section: debian-installer
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, cdebconf-udeb
|
||||
Package-Type: udeb
|
||||
-Build-Profiles: <!noudeb>
|
||||
Description: Debian Configuration Management System (C-implementation)
|
||||
Debconf is a configuration management system for Debian packages. It is
|
||||
used by some packages to prompt you for information before they are
|
||||
@@ -124,7 +120,6 @@ Architecture: any
|
||||
Section: debian-installer
|
||||
Depends: cdebconf-udeb, ${shlibs:Depends}, ${misc:Depends}
|
||||
Package-Type: udeb
|
||||
-Build-Profiles: <!noudeb>
|
||||
Description: Plain text frontend for Debian Configuration Management System
|
||||
Debconf is a configuration management system for Debian packages. It is
|
||||
used by some packages to prompt you for information before they are
|
||||
@@ -139,7 +134,6 @@ Architecture: any
|
||||
Section: debian-installer
|
||||
Depends: cdebconf-udeb, di-utils-terminfo, ${shlibs:Depends}, ${misc:Depends}
|
||||
Package-Type: udeb
|
||||
-Build-Profiles: <!noudeb>
|
||||
Description: Newt frontend for Debian Configuration Management System
|
||||
Debconf is a configuration management system for Debian packages. It is
|
||||
used by some packages to prompt you for information before they are
|
||||
@@ -154,7 +148,7 @@ Architecture: any
|
||||
Section: debian-installer
|
||||
Depends: cdebconf-udeb, ${shlibs:Depends}, ${misc:Depends}, rootskel-gtk [!s390 !s390x]
|
||||
Package-Type: udeb
|
||||
-Build-Profiles: <!pkg.cdebconf.nogtk !noudeb>
|
||||
+Build-Profiles: <!pkg.cdebconf.nogtk>
|
||||
Description: Gtk+ frontend for Debian Configuration Management System
|
||||
Debconf is a configuration management system for Debian packages. It is
|
||||
used by some packages to prompt you for information before they are
|
||||
diff --git a/debian/rules b/debian/rules
|
||||
index 3ee2ec0..a66e684 100755
|
||||
--- a/debian/rules
|
||||
+++ b/debian/rules
|
||||
@@ -12,10 +12,6 @@ udebbuild=debian/build-udeb
|
||||
|
||||
include /usr/share/dpkg/architecture.mk
|
||||
|
||||
-ifeq (,$(filter noudeb, $(DEB_BUILD_PROFILES)))
|
||||
- with_udeb = yes
|
||||
-endif
|
||||
-
|
||||
CONFFILE=/etc/cdebconf.conf
|
||||
|
||||
#package names
|
||||
@@ -46,7 +42,7 @@ ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
|
||||
DEBUG_CONFIGURE_OPT=--with-debug=yes
|
||||
endif
|
||||
|
||||
-build: build-deb $(if $(with_udeb),build-udeb)
|
||||
+build: build-deb build-udeb
|
||||
|
||||
build-arch: build
|
||||
build-indep: build
|
||||
@@ -108,9 +104,7 @@ install-arch: build
|
||||
dh_testroot
|
||||
dh_prep
|
||||
$(MAKE) -C $(debbuild) install DESTDIR=$(CURDIR)/debian/tmp/deb
|
||||
-ifeq ($(with_udeb),yes)
|
||||
$(MAKE) -C $(udebbuild) install DESTDIR=$(CURDIR)/debian/tmp/udeb
|
||||
-endif
|
||||
dh_install -a
|
||||
|
||||
install-indep:
|
||||
@@ -152,7 +146,7 @@ endif
|
||||
dh_strip -a
|
||||
dh_compress -a
|
||||
dh_fixperms -a
|
||||
- dh_makeshlibs -a $(if $(with_udeb),--add-udeb=libdebconfclient0-udeb)
|
||||
+ dh_makeshlibs -a --add-udeb=libdebconfclient0-udeb
|
||||
dh_installdeb -a
|
||||
dh_shlibdeps -a
|
||||
dh_gencontrol -a
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
diff --git a/Makefile b/Makefile
|
||||
index f8bf521f..61d51be1 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -34,8 +34,8 @@ LIBS=-ldebconfclient -ldebian-installer
|
||||
STRIP=strip
|
||||
|
||||
# Derivative distributions may want to change these.
|
||||
-MIRRORLISTURL=https://mirror-master.debian.org/status/Mirrors.masterlist
|
||||
-MASTERLIST=Mirrors.masterlist
|
||||
+MIRRORLISTURL=https://gitlab.trisquel.org/trisquel/trisquel-packages/-/raw/master/extra/mirrors/Mirrors.masterlist
|
||||
+MASTERLIST=Mirrors.masterlist.trisquel
|
||||
|
||||
ifdef DEBUG
|
||||
CFLAGS:=$(CFLAGS) -DDODEBUG
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
diff -ru choose-mirror-2.78ubuntu7+10.0trisquel3/debian/choose-mirror-bin.templates-in choose-mirror-2.111/debian/choose-mirror-bin.templates-in
|
||||
--- choose-mirror-2.78ubuntu7+10.0trisquel3/debian/choose-mirror-bin.templates-in 2021-02-26 15:22:56.000000000 -0600
|
||||
+++ choose-mirror-2.111/debian/choose-mirror-bin.templates-in 2021-02-08 06:52:03.000000000 -0600
|
||||
@@ -12,14 +12,10 @@
|
||||
Type: select
|
||||
Choices-C: ${CHOICES-C}
|
||||
Choices: ${CHOICES}
|
||||
+Default: _CODENAME_
|
||||
+Description: Trisquel version to install:
|
||||
+ In Trisquel, this question is never asked, and is only for preseeding.
|
||||
+ Caveat emptor.
|
||||
-# :sl2:
|
||||
-_Description: Debian version to install:
|
||||
- Debian comes in several flavors. Stable is well-tested and rarely changes.
|
||||
- Unstable is untested and frequently changing. Testing is a middle ground,
|
||||
- that receives many of the new versions from unstable if they are not too
|
||||
- buggy.
|
||||
- .
|
||||
- Only flavors available on the selected mirror are listed.
|
||||
|
||||
Template: mirror/codename
|
||||
Type: string
|
||||
|
|
@ -1,148 +0,0 @@
|
|||
diff -ru source/CommandNotFound/db/tests/test_db.py source/CommandNotFound/db/tests/test_db.py_fix
|
||||
--- source/CommandNotFound/db/tests/test_db.py 2021-12-08 04:53:19.000000000 -0600
|
||||
+++ source/CommandNotFound/db/tests/test_db.py_fix 2022-08-26 01:26:06.984427040 -0500
|
||||
@@ -11,7 +11,7 @@
|
||||
from CommandNotFound.db.creator import DbCreator
|
||||
from CommandNotFound.db.db import SqliteDatabase
|
||||
|
||||
-mock_commands_bionic_backports = """suite: bionic-backports
|
||||
+mock_commands_etiona_backports = """suite: etiona-backports
|
||||
component: main
|
||||
arch: all
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
commands: script,wall,new-stuff-only-in-backports
|
||||
"""
|
||||
|
||||
-mock_commands_bionic_proposed = """suite: bionic-proposed
|
||||
+mock_commands_etiona_proposed = """suite: etiona-proposed
|
||||
component: main
|
||||
arch: all
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
commands: script,wall
|
||||
"""
|
||||
|
||||
-mock_commands_bionic = """suite: bionic
|
||||
+mock_commands_etiona = """suite: etiona
|
||||
component: main
|
||||
arch: all
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
ignore-commands: ignore-me
|
||||
"""
|
||||
|
||||
-mock_commands_bionic_universe = """suite: bionic
|
||||
+mock_commands_etiona_universe = """suite: etiona
|
||||
component: universe
|
||||
arch: all
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
shutil.rmtree(self.tmpdir)
|
||||
|
||||
def make_mock_commands_file(self, suite, content):
|
||||
- path = os.path.join(self.tmpdir, "var", "lib", "apt", "lists", "archive.ubuntu.com_ubuntu_dists_%s_Commands-all" % suite)
|
||||
+ path = os.path.join(self.tmpdir, "var", "lib", "apt", "lists", "archive.trisquel.org_trisquel_dists_%s_Commands-all" % suite)
|
||||
try:
|
||||
os.makedirs(os.path.dirname(path))
|
||||
except OSError:
|
||||
@@ -95,7 +95,7 @@
|
||||
|
||||
def test_create_trivial_db(self):
|
||||
mock_commands_file = self.make_mock_commands_file(
|
||||
- "bionic_main", mock_commands_bionic)
|
||||
+ "etiona_main", mock_commands_etiona)
|
||||
cre = DbCreator([mock_commands_file])
|
||||
dbpath = os.path.join(self.tmpdir, "test.db")
|
||||
cre.create(dbpath)
|
||||
@@ -108,9 +108,9 @@
|
||||
|
||||
def test_create_multiple_dbs(self):
|
||||
mock_commands_1 = self.make_mock_commands_file(
|
||||
- "bionic_main", mock_commands_bionic)
|
||||
+ "etiona_main", mock_commands_etiona)
|
||||
mock_commands_2 = self.make_mock_commands_file(
|
||||
- "bionic-proposed_main", mock_commands_bionic_proposed)
|
||||
+ "etiona-proposed_main", mock_commands_etiona_proposed)
|
||||
cre = DbCreator([mock_commands_1, mock_commands_2])
|
||||
dbpath = os.path.join(self.tmpdir, "test.db")
|
||||
cre.create(dbpath)
|
||||
@@ -131,9 +131,9 @@
|
||||
|
||||
def test_create_backports_excluded_dbs(self):
|
||||
mock_commands_1 = self.make_mock_commands_file(
|
||||
- "bionic_main", mock_commands_bionic)
|
||||
+ "etiona_main", mock_commands_etiona)
|
||||
mock_commands_2 = self.make_mock_commands_file(
|
||||
- "bionic-backports_main", mock_commands_bionic_backports)
|
||||
+ "etiona-backports_main", mock_commands_etiona_backports)
|
||||
cre = DbCreator([mock_commands_1, mock_commands_2])
|
||||
dbpath = os.path.join(self.tmpdir, "test.db")
|
||||
cre.create(dbpath)
|
||||
@@ -146,7 +146,7 @@
|
||||
|
||||
def test_create_no_versions_does_not_crash(self):
|
||||
mock_commands = self.make_mock_commands_file(
|
||||
- "bionic_main", mock_commands_bionic.replace("version: 1.0\n", ""))
|
||||
+ "etiona_main", mock_commands_etiona.replace("version: 1.0\n", ""))
|
||||
cre = DbCreator([mock_commands])
|
||||
dbpath = os.path.join(self.tmpdir, "test.db")
|
||||
cre.create(dbpath)
|
||||
@@ -157,11 +157,8 @@
|
||||
|
||||
def test_create_priorities_work(self):
|
||||
mock_commands_1 = self.make_mock_commands_file(
|
||||
- "bionic_main", mock_commands_bionic)
|
||||
- mock_commands_2 = self.make_mock_commands_file(
|
||||
- "bionic_universe", mock_commands_bionic_universe)
|
||||
- self.assertNotEqual(mock_commands_1, mock_commands_2)
|
||||
- cre = DbCreator([mock_commands_1, mock_commands_2])
|
||||
+ "etiona_main", mock_commands_etiona)
|
||||
+ cre = DbCreator([mock_commands_1])
|
||||
dbpath = os.path.join(self.tmpdir, "test.db")
|
||||
cre.create(dbpath)
|
||||
# validate content
|
||||
@@ -173,12 +170,11 @@
|
||||
db.lookup("bzr"), [
|
||||
("bzr1", "1.0", "main"),
|
||||
("bzr2", "2.7", "main"),
|
||||
- ("bzr-tng", "3.0", "universe"),
|
||||
])
|
||||
|
||||
def test_priorities_bonus_works(self):
|
||||
mock_commands_1 = self.make_mock_commands_file(
|
||||
- "bionic_main", mock_commands_bionic)
|
||||
+ "etiona_main", mock_commands_etiona)
|
||||
cre = DbCreator([mock_commands_1])
|
||||
dbpath = os.path.join(self.tmpdir, "test.db")
|
||||
cre.create(dbpath)
|
||||
@@ -193,7 +189,7 @@
|
||||
|
||||
def test_visible_pkgname_works(self):
|
||||
mock_commands_1 = self.make_mock_commands_file(
|
||||
- "bionic_main", mock_commands_bionic)
|
||||
+ "etiona_main", mock_commands_etiona)
|
||||
cre = DbCreator([mock_commands_1])
|
||||
dbpath = os.path.join(self.tmpdir, "test.db")
|
||||
cre.create(dbpath)
|
||||
@@ -205,9 +201,9 @@
|
||||
|
||||
def test_create_multiple_no_unneeded_creates(self):
|
||||
mock_commands_1 = self.make_mock_commands_file(
|
||||
- "bionic_main", mock_commands_bionic)
|
||||
+ "etiona_main", mock_commands_etiona)
|
||||
mock_commands_2 = self.make_mock_commands_file(
|
||||
- "bionic-proposed_main", mock_commands_bionic_proposed)
|
||||
+ "etiona-proposed_main", mock_commands_etiona_proposed)
|
||||
cre = DbCreator([mock_commands_1, mock_commands_2])
|
||||
dbpath = os.path.join(self.tmpdir, "test.db")
|
||||
cre.create(dbpath)
|
||||
@@ -220,7 +216,7 @@
|
||||
|
||||
def test_create_honors_ignore_comamnds(self):
|
||||
mock_commands_file = self.make_mock_commands_file(
|
||||
- "bionic_main", mock_commands_bionic)
|
||||
+ "etiona_main", mock_commands_etiona)
|
||||
cre = DbCreator([mock_commands_file])
|
||||
dbpath = os.path.join(self.tmpdir, "test.db")
|
||||
cre.create(dbpath)
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
diff -ru source.orig/CommandNotFound/CommandNotFound.py source/CommandNotFound/CommandNotFound.py
|
||||
--- source.orig/CommandNotFound/CommandNotFound.py 2021-12-08 05:53:19.000000000 -0500
|
||||
+++ source/CommandNotFound/CommandNotFound.py 2023-06-09 16:52:12.675354733 -0400
|
||||
@@ -227,8 +227,6 @@
|
||||
else:
|
||||
print("apt install %s" % packages[0][0], file=self.output_fd)
|
||||
print(_("Please ask your administrator."))
|
||||
- if not packages[0][2] in self.sources_list:
|
||||
- print(_("You will have to enable the component called '%s'") % packages[0][2], file=self.output_fd)
|
||||
self.output_fd.flush()
|
||||
|
||||
def sudo(self):
|
||||
@@ -246,10 +244,7 @@
|
||||
ver = " # version %s, or" % (package[1])
|
||||
else:
|
||||
ver = " # version %s" % (package[1])
|
||||
- if package[2] in self.sources_list:
|
||||
- print("%sapt install %-*s%s" % (self.sudo(), pad, package[0], ver), file=self.output_fd)
|
||||
- else:
|
||||
- print("%sapt install %-*s%s" % (self.sudo(), pad, package[0], ver) + " (" + _("You will have to enable component called '%s'") % package[2] + ")", file=self.output_fd)
|
||||
+ print("%sapt install %-*s%s" % (self.sudo(), pad, package[0], ver), file=self.output_fd)
|
||||
if self.euid != 0 and not self.user_can_sudo:
|
||||
print(_("Ask your administrator to install one of them."), file=self.output_fd)
|
||||
self.output_fd.flush()
|
||||
|
|
@ -1,265 +0,0 @@
|
|||
=== modified file 'metadata/core.xml.in'
|
||||
Index: compiz-0.9.7.4/metadata/core.xml.in
|
||||
===================================================================
|
||||
--- compiz-0.9.7.4.orig/metadata/core.xml.in 2012-03-30 11:57:16.000000000 +0200
|
||||
+++ compiz-0.9.7.4/metadata/core.xml.in 2012-04-05 12:43:06.231451763 +0200
|
||||
@@ -138,7 +138,7 @@
|
||||
<option name="focus_prevention_match" type="match">
|
||||
<_short>Focus Prevention Windows</_short>
|
||||
<_long>Focus prevention windows</_long>
|
||||
- <default>any</default>
|
||||
+ <default>!(class=Polkit-gnome-authentication-agent-1)</default>
|
||||
</option>
|
||||
</group>
|
||||
<group>
|
||||
@@ -173,7 +173,7 @@
|
||||
<option name="minimize_window_key" type="key">
|
||||
<_short>Minimize Window</_short>
|
||||
<_long>Minimize active window</_long>
|
||||
- <default><Alt>F9</default>
|
||||
+ <default><Control><Alt>KP_0</default>
|
||||
</option>
|
||||
<option name="minimize_window_button" type="button">
|
||||
<_short>Minimize Window</_short>
|
||||
@@ -182,12 +182,12 @@
|
||||
<option name="maximize_window_key" type="key">
|
||||
<_short>Maximize Window</_short>
|
||||
<_long>Maximize active window</_long>
|
||||
- <default><Alt>F10</default>
|
||||
+ <default><Control><Super>Up</default>
|
||||
</option>
|
||||
<option name="unmaximize_window_key" type="key">
|
||||
<_short>Unmaximize Window</_short>
|
||||
<_long>Unmaximize active window</_long>
|
||||
- <default><Alt>F5</default>
|
||||
+ <default><Control><Super>Down</default>
|
||||
</option>
|
||||
<option name="maximize_window_horizontally_key" type="key">
|
||||
<_short>Maximize Window Horizontally</_short>
|
||||
@@ -210,7 +210,7 @@
|
||||
<option name="show_desktop_key" type="key">
|
||||
<_short>Show Desktop</_short>
|
||||
<_long>Hide all windows and focus desktop</_long>
|
||||
- <default><Control><Alt>d</default>
|
||||
+ <default><Control><Super>d</default>
|
||||
</option>
|
||||
<option name="show_desktop_edge" type="edge">
|
||||
<_short>Show Desktop</_short>
|
||||
@@ -220,6 +220,7 @@
|
||||
<option name="toggle_window_maximized_key" type="key">
|
||||
<_short>Toggle Window Maximized</_short>
|
||||
<_long>Toggle active window maximized</_long>
|
||||
+ <default><Control><Alt>KP_5</default>
|
||||
</option>
|
||||
<option name="toggle_window_maximized_button" type="button">
|
||||
<_short>Toggle Window Maximized</_short>
|
||||
@@ -244,14 +245,14 @@
|
||||
<option name="hsize" type="int">
|
||||
<_short>Horizontal Virtual Size</_short>
|
||||
<_long>Screen size multiplier for horizontal virtual size</_long>
|
||||
- <default>4</default>
|
||||
+ <default>2</default>
|
||||
<min>1</min>
|
||||
<max>32</max>
|
||||
</option>
|
||||
<option name="vsize" type="int">
|
||||
<_short>Vertical Virtual Size</_short>
|
||||
<_long>Screen size multiplier for vertical virtual size</_long>
|
||||
- <default>1</default>
|
||||
+ <default>2</default>
|
||||
<min>1</min>
|
||||
<max>32</max>
|
||||
</option>
|
||||
Index: compiz-0.9.7.4/plugins/fade/fade.xml.in
|
||||
===================================================================
|
||||
--- compiz-0.9.7.4.orig/plugins/fade/fade.xml.in 2012-03-30 11:57:16.000000000 +0200
|
||||
+++ compiz-0.9.7.4/plugins/fade/fade.xml.in 2012-04-05 12:43:06.247451838 +0200
|
||||
@@ -9,6 +9,7 @@
|
||||
</requirement>
|
||||
<relation type="after">
|
||||
<plugin>decor</plugin>
|
||||
+ <plugin>staticswitcher</plugin>
|
||||
</relation>
|
||||
<relation type="before">
|
||||
<plugin>cube</plugin>
|
||||
@@ -49,7 +50,7 @@
|
||||
<option name="window_match" type="match">
|
||||
<_short>Fade windows</_short>
|
||||
<_long>Windows that should be fading</_long>
|
||||
- <default>any</default>
|
||||
+ <default>any & !(title=notify-osd)</default>
|
||||
</option>
|
||||
<option name="visual_bell" type="bell">
|
||||
<_short>Visual Bell</_short>
|
||||
Index: compiz-0.9.7.4/plugins/place/place.xml.in
|
||||
===================================================================
|
||||
--- compiz-0.9.7.4.orig/plugins/place/place.xml.in 2012-03-30 11:57:16.000000000 +0200
|
||||
+++ compiz-0.9.7.4/plugins/place/place.xml.in 2012-04-05 12:43:06.247451838 +0200
|
||||
@@ -19,8 +19,8 @@
|
||||
<option name="mode" type="int">
|
||||
<_short>Placement Mode</_short>
|
||||
<_long>Algorithm to use for window placement</_long>
|
||||
- <default>0</default>
|
||||
- <min>2</min>
|
||||
+ <default>2</default>
|
||||
+ <min>0</min>
|
||||
<max>5</max>
|
||||
<desc>
|
||||
<value>0</value>
|
||||
Index: compiz-0.9.7.4/plugins/resize/resize.xml.in
|
||||
===================================================================
|
||||
--- compiz-0.9.7.4.orig/plugins/resize/resize.xml.in 2012-03-30 11:57:16.000000000 +0200
|
||||
+++ compiz-0.9.7.4/plugins/resize/resize.xml.in 2012-04-05 12:43:06.247451838 +0200
|
||||
@@ -28,7 +28,7 @@
|
||||
<option name="mode" type="int">
|
||||
<_short>Default Resize Mode</_short>
|
||||
<_long>Default mode used for window resizing</_long>
|
||||
- <default>0</default>
|
||||
+ <default>2</default>
|
||||
<min>0</min>
|
||||
<max>3</max>
|
||||
<desc>
|
||||
Index: compiz-0.9.7.4/plugins/scale/scale.xml.in
|
||||
===================================================================
|
||||
--- compiz-0.9.7.4.orig/plugins/scale/scale.xml.in 2012-03-30 11:57:16.000000000 +0200
|
||||
+++ compiz-0.9.7.4/plugins/scale/scale.xml.in 2012-04-05 12:43:51.243674966 +0200
|
||||
@@ -18,14 +18,14 @@
|
||||
<option name="spacing" type="int">
|
||||
<_short>Spacing</_short>
|
||||
<_long>Space between windows</_long>
|
||||
- <default>10</default>
|
||||
+ <default>68</default>
|
||||
<min>0</min>
|
||||
<max>250</max>
|
||||
</option>
|
||||
<option name="speed" type="float">
|
||||
<_short>Speed</_short>
|
||||
<_long>Scale speed</_long>
|
||||
- <default>1.5</default>
|
||||
+ <default>2.4</default>
|
||||
<min>0.1</min>
|
||||
<max>50</max>
|
||||
<precision>0.1</precision>
|
||||
@@ -33,7 +33,7 @@
|
||||
<option name="timestep" type="float">
|
||||
<_short>Timestep</_short>
|
||||
<_long>Scale timestep</_long>
|
||||
- <default>1.2</default>
|
||||
+ <default>0.1</default>
|
||||
<min>0.1</min>
|
||||
<max>50</max>
|
||||
<precision>0.1</precision>
|
||||
@@ -46,7 +46,7 @@
|
||||
<option name="opacity" type="int">
|
||||
<_short>Opacity</_short>
|
||||
<_long>Amount of opacity in percent</_long>
|
||||
- <default>75</default>
|
||||
+ <default>100</default>
|
||||
<min>0</min>
|
||||
<max>100</max>
|
||||
</option>
|
||||
@@ -55,7 +55,7 @@
|
||||
<_long>Overlay an icon on windows once they are scaled</_long>
|
||||
<min>0</min>
|
||||
<max>2</max>
|
||||
- <default>1</default>
|
||||
+ <default>0</default>
|
||||
<desc>
|
||||
<value>0</value>
|
||||
<_name>None</_name>
|
||||
@@ -96,7 +96,7 @@
|
||||
<_long>Selects where windows are scaled if multiple output devices are used.</_long>
|
||||
<min>0</min>
|
||||
<max>1</max>
|
||||
- <default>0</default>
|
||||
+ <default>1</default>
|
||||
<desc>
|
||||
<value>0</value>
|
||||
<_name>On current output device</_name>
|
||||
@@ -112,7 +112,7 @@
|
||||
<option name="key_bindings_toggle" type="bool">
|
||||
<_short>Key Bindings Toggle Scale Mode</_short>
|
||||
<_long>Key bindings toggle scale mode instead of enabling it when pressed and disabling it when released.</_long>
|
||||
- <default>false</default>
|
||||
+ <default>true</default>
|
||||
</option>
|
||||
<option name="button_bindings_toggle" type="bool">
|
||||
<_short>Button Bindings Toggle Scale Mode</_short>
|
||||
@@ -122,9 +122,6 @@
|
||||
<option name="initiate_edge" type="edge">
|
||||
<_short>Initiate Window Picker</_short>
|
||||
<_long>Layout and start transforming windows</_long>
|
||||
- <default>
|
||||
- <edge name="TopRight"/>
|
||||
- </default>
|
||||
<allowed edgednd="true"/>
|
||||
</option>
|
||||
<option name="initiate_key" type="key">
|
||||
@@ -148,6 +145,7 @@
|
||||
<option name="initiate_all_key" type="key">
|
||||
<_short>Initiate Window Picker For All Windows</_short>
|
||||
<_long>Layout and start transforming all windows</_long>
|
||||
+ <default><Super>w</default>
|
||||
</option>
|
||||
<option name="initiate_group_edge" type="edge">
|
||||
<_short>Initiate Window Picker For Window Group</_short>
|
||||
@@ -178,7 +176,7 @@
|
||||
<option name="show_desktop" type="bool">
|
||||
<_short>Click Desktop to Show Desktop</_short>
|
||||
<_long>Enter Show Desktop mode when Desktop is clicked during Scale</_long>
|
||||
- <default>true</default>
|
||||
+ <default>false</default>
|
||||
</option>
|
||||
</group>
|
||||
</options>
|
||||
Index: compiz-0.9.7.4/plugins/decor/decor.xml.in
|
||||
===================================================================
|
||||
--- compiz-0.9.7.4.orig/plugins/decor/decor.xml.in 2012-03-30 11:57:16.000000000 +0200
|
||||
+++ compiz-0.9.7.4/plugins/decor/decor.xml.in 2012-04-05 12:43:06.247451838 +0200
|
||||
@@ -30,7 +30,7 @@
|
||||
<option name="active_shadow_opacity" type="float">
|
||||
<_short>Shadow Opacity</_short>
|
||||
<_long>Drop shadow opacity</_long>
|
||||
- <default>0.5</default>
|
||||
+ <default>0.8</default>
|
||||
<min>0.01</min>
|
||||
<max>6.0</max>
|
||||
<precision>0.01</precision>
|
||||
@@ -65,7 +65,7 @@
|
||||
<option name="inactive_shadow_radius" type="float">
|
||||
<_short>Shadow Radius</_short>
|
||||
<_long>Drop shadow radius</_long>
|
||||
- <default>8.0</default>
|
||||
+ <default>5.0</default>
|
||||
<min>0.1</min>
|
||||
<max>13.0</max>
|
||||
<precision>0.1</precision>
|
||||
@@ -73,7 +73,7 @@
|
||||
<option name="inactive_shadow_opacity" type="float">
|
||||
<_short>Shadow Opacity</_short>
|
||||
<_long>Drop shadow opacity</_long>
|
||||
- <default>0.5</default>
|
||||
+ <default>0.4</default>
|
||||
<min>0.01</min>
|
||||
<max>6.0</max>
|
||||
<precision>0.01</precision>
|
||||
@@ -100,6 +100,7 @@
|
||||
<option name="command" type="string">
|
||||
<_short>Command</_short>
|
||||
<_long>Decorator command line that is executed if no decorator is already running</_long>
|
||||
+ <default>/usr/bin/compiz-decorator</default>
|
||||
</option>
|
||||
<option name="mipmap" type="bool">
|
||||
<_short>Mipmap</_short>
|
||||
Index: compiz-0.9.7.4/plugins/gnomecompat/gnomecompat.xml.in
|
||||
===================================================================
|
||||
--- compiz-0.9.7.4.orig/plugins/gnomecompat/gnomecompat.xml.in 2012-03-30 11:57:16.000000000 +0200
|
||||
+++ compiz-0.9.7.4/plugins/gnomecompat/gnomecompat.xml.in 2012-04-05 12:43:06.247451838 +0200
|
||||
@@ -52,6 +52,7 @@
|
||||
<option name="run_command_terminal_key" type="key">
|
||||
<_short>Open a terminal</_short>
|
||||
<_long>Open a terminal</_long>
|
||||
+ <default><Control><Alt>T</default>
|
||||
</option>
|
||||
</group>
|
||||
</options>
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
diff -uNr compiz-0.9.7.8.orig/plugins/place/src/place.cpp compiz-0.9.7.8/plugins/place/src/place.cpp
|
||||
--- compiz-0.9.7.8.orig/plugins/place/src/place.cpp 2012-04-26 07:47:01.000000000 +0100
|
||||
+++ compiz-0.9.7.8/plugins/place/src/place.cpp 2012-05-11 18:15:22.023909137 +0100
|
||||
@@ -228,12 +228,15 @@
|
||||
w = screen->findWindow (event->xproperty.window);
|
||||
if (w)
|
||||
{
|
||||
- mStrutWindows.remove (w);
|
||||
- /* Only do when handling screen size change.
|
||||
- ps->strutWindowCount is 0 at any other time */
|
||||
- if (mStrutWindows.empty ())
|
||||
- doHandleScreenSizeChange (screen->width (),
|
||||
- screen->height ()); /* 2nd pass */
|
||||
+ if (!mStrutWindows.empty ())
|
||||
+ {
|
||||
+ mStrutWindows.remove (w);
|
||||
+ /* Only do when handling screen size change.
|
||||
+ ps->strutWindowCount is 0 at any other time */
|
||||
+ if (mStrutWindows.empty ())
|
||||
+ doHandleScreenSizeChange (screen->width (),
|
||||
+ screen->height ()); /* 2nd pass */
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,231 +0,0 @@
|
|||
#################################
|
||||
#
|
||||
# Backend
|
||||
#
|
||||
#################################
|
||||
|
||||
# Backend to use: "xrender" or "glx".
|
||||
# GLX backend is typically much faster but depends on a sane driver.
|
||||
backend = "glx";
|
||||
|
||||
# Needed on some systems to avoid delay in changes of screen contents. (e.g. Pluma)
|
||||
xrender-sync = true;
|
||||
xrender-sync-fence = true;
|
||||
|
||||
# GLX backend: Avoid using stencil buffer, useful if you don’t have a stencil buffer.
|
||||
glx-no-stencil = true;
|
||||
|
||||
# GLX backend: Copy unmodified regions from front buffer instead of redrawing them all.
|
||||
# My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified,
|
||||
# but a 20% increase when only 1/4 is.
|
||||
# My tests on nouveau show terrible slowdown.
|
||||
# Useful with --glx-swap-method, as well.
|
||||
glx-copy-from-front = false;
|
||||
|
||||
# GLX backend: Use MESA_copy_sub_buffer to do partial screen update.
|
||||
# My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated.
|
||||
# May break VSync and is not available on some drivers.
|
||||
# Overrides --glx-copy-from-front.
|
||||
# glx-use-copysubbuffermesa = true;
|
||||
|
||||
# GLX backend: Avoid rebinding pixmap on window damage.
|
||||
# Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe).
|
||||
# Recommended if it works.
|
||||
# glx-no-rebind-pixmap = true;
|
||||
|
||||
# GLX backend: GLX buffer swap method we assume.
|
||||
# Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1).
|
||||
# undefined is the slowest and the safest, and the default value.
|
||||
# copy is fastest, but may fail on some drivers,
|
||||
# 2-6 are gradually slower but safer (6 is still faster than 0).
|
||||
# Usually, double buffer means 2, triple buffer means 3.
|
||||
# buffer-age means auto-detect using GLX_EXT_buffer_age, supported by some drivers.
|
||||
# Useless with --glx-use-copysubbuffermesa.
|
||||
# Partially breaks --resize-damage.
|
||||
# Defaults to undefined.
|
||||
glx-swap-method = "undefined";
|
||||
|
||||
#################################
|
||||
#
|
||||
# Shadows
|
||||
#
|
||||
#################################
|
||||
|
||||
# Enabled client-side shadows on windows.
|
||||
shadow = true;
|
||||
# Don't draw shadows on DND windows.
|
||||
no-dnd-shadow = true;
|
||||
# Avoid drawing shadows on dock/panel windows.
|
||||
no-dock-shadow = true;
|
||||
# Zero the part of the shadow's mask behind the window. Fix some weirdness with ARGB windows.
|
||||
clear-shadow = false;
|
||||
# The blur radius for shadows. (default 12)
|
||||
shadow-radius = 10;
|
||||
# The left offset for shadows. (default -15)
|
||||
shadow-offset-x = -12;
|
||||
# The top offset for shadows. (default -15)
|
||||
shadow-offset-y = -12;
|
||||
# The translucency for shadows. (default .75)
|
||||
shadow-opacity = 0.4;
|
||||
|
||||
# Set if you want different colour shadows
|
||||
# shadow-red = 0.0;
|
||||
# shadow-green = 0.0;
|
||||
# shadow-blue = 0.0;
|
||||
|
||||
# The shadow exclude options are helpful if you have shadows enabled. Due to the way compton draws its shadows, certain applications will have visual glitches
|
||||
# (most applications are fine, only apps that do weird things with xshapes or argb are affected).
|
||||
# This list includes all the affected apps I found in my testing. The "! name~=''" part excludes shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher.
|
||||
shadow-exclude = [
|
||||
"! name~=''",
|
||||
"name = 'Notification'",
|
||||
"name = 'Plank'",
|
||||
"name = 'Docky'",
|
||||
"name = 'Kupfer'",
|
||||
"name = 'xfce4-notifyd'",
|
||||
"name *= 'VLC'",
|
||||
"name *= 'compton'",
|
||||
"name *= 'Firefox'",
|
||||
"name *= 'IceCat'",
|
||||
"name *= 'Totem'",
|
||||
"name *= 'XBMC'",
|
||||
"class_g = 'Conky'",
|
||||
"class_g = 'Kupfer'",
|
||||
"class_g = 'Synapse'",
|
||||
"class_g ?= 'Notify-osd'",
|
||||
"class_g ?= 'Cairo-dock'",
|
||||
"class_g ?= 'Xfce4-notifyd'",
|
||||
"class_g ?= 'Xfce4-power-manager'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners)
|
||||
shadow-ignore-shaped = false;
|
||||
|
||||
#################################
|
||||
#
|
||||
# Opacity
|
||||
#
|
||||
#################################
|
||||
|
||||
menu-opacity = 1;
|
||||
inactive-opacity = 1;
|
||||
active-opacity = 1;
|
||||
frame-opacity = 1;
|
||||
inactive-opacity-override = false;
|
||||
alpha-step = 0.06;
|
||||
|
||||
# Dim inactive windows. (0.0 - 1.0)
|
||||
# inactive-dim = 0.2;
|
||||
# Do not let dimness adjust based on window opacity.
|
||||
# inactive-dim-fixed = true;
|
||||
# Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred.
|
||||
# blur-background = true;
|
||||
# Blur background of opaque windows with transparent frames as well.
|
||||
# blur-background-frame = true;
|
||||
# Do not let blur radius adjust based on window opacity.
|
||||
blur-background-fixed = false;
|
||||
blur-background-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'"
|
||||
];
|
||||
|
||||
#################################
|
||||
#
|
||||
# Fading
|
||||
#
|
||||
#################################
|
||||
|
||||
# Fade windows during opacity changes.
|
||||
fading = true;
|
||||
# The time between steps in a fade in milliseconds. (default 10).
|
||||
fade-delta = 4;
|
||||
# Opacity change between steps while fading in. (default 0.028).
|
||||
fade-in-step = 0.03;
|
||||
# Opacity change between steps while fading out. (default 0.03).
|
||||
fade-out-step = 0.03;
|
||||
# Fade windows in/out when opening/closing
|
||||
# no-fading-openclose = true;
|
||||
|
||||
# Specify a list of conditions of windows that should not be faded.
|
||||
fade-exclude = [ " window_type *= 'menu'" ];
|
||||
|
||||
#################################
|
||||
#
|
||||
# Other
|
||||
#
|
||||
#################################
|
||||
|
||||
# Try to detect WM windows and mark them as active.
|
||||
mark-wmwin-focused = true;
|
||||
# Mark all non-WM but override-redirect windows active (e.g. menus).
|
||||
mark-ovredir-focused = true;
|
||||
# Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused instead of using FocusIn/Out events.
|
||||
# Usually more reliable but depends on a EWMH-compliant WM.
|
||||
use-ewmh-active-win = true;
|
||||
# Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on.
|
||||
detect-rounded-corners = true;
|
||||
|
||||
# Detect _NET_WM_OPACITY on client windows, useful for window managers not passing _NET_WM_OPACITY of client windows to frame windows.
|
||||
# This prevents opacity being ignored for some apps.
|
||||
# For example without this enabled my xfce4-notifyd is 100% opacity no matter what.
|
||||
detect-client-opacity = true;
|
||||
|
||||
# Specify refresh rate of the screen.
|
||||
# If not specified or 0, compton will try detecting this with X RandR extension.
|
||||
refresh-rate = 0;
|
||||
|
||||
# Set VSync method. VSync methods currently available:
|
||||
# none: No VSync
|
||||
# drm: VSync with DRM_IOCTL_WAIT_VBLANK. May only work on some drivers.
|
||||
# opengl: Try to VSync with SGI_video_sync OpenGL extension. Only work on some drivers.
|
||||
# opengl-oml: Try to VSync with OML_sync_control OpenGL extension. Only work on some drivers.
|
||||
# opengl-swc: Try to VSync with SGI_swap_control OpenGL extension. Only work on some drivers. Works only with GLX backend. Known to be most effective on many drivers. Does not actually control paint timing, only buffer swap is affected, so it doesn’t have the effect of --sw-opti unlike other methods. Experimental.
|
||||
# opengl-mswc: Try to VSync with MESA_swap_control OpenGL extension. Basically the same as opengl-swc above, except the extension we use.
|
||||
# (Note some VSync methods may not be enabled at compile time.)
|
||||
vsync = "opengl";
|
||||
|
||||
# Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing.
|
||||
# Reported to have no effect, though.
|
||||
dbe = false;
|
||||
# Painting on X Composite overlay window. Recommended.
|
||||
paint-on-overlay = true;
|
||||
|
||||
# Limit compton to repaint at most once every 1 / refresh_rate second to boost performance.
|
||||
# This should not be used with --vsync drm/opengl/opengl-oml as they essentially does --sw-opti's job already,
|
||||
# unless you wish to specify a lower refresh rate than the actual value.
|
||||
sw-opti = false;
|
||||
|
||||
# Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows, like games.
|
||||
# Known to cause flickering when redirecting/unredirecting windows.
|
||||
# paint-on-overlay may make the flickering less obvious.
|
||||
unredir-if-possible = true;
|
||||
|
||||
# Specify a list of conditions of windows that should always be considered focused.
|
||||
focus-exclude = [ ];
|
||||
|
||||
# Use WM_TRANSIENT_FOR to group windows, and consider windows in the same group focused at the same time.
|
||||
detect-transient = true;
|
||||
# Use WM_CLIENT_LEADER to group windows, and consider windows in the same group focused at the same time.
|
||||
# WM_TRANSIENT_FOR has higher priority if --detect-transient is enabled, too.
|
||||
detect-client-leader = true;
|
||||
|
||||
#################################
|
||||
#
|
||||
# Window type settings
|
||||
#
|
||||
#################################
|
||||
|
||||
wintypes:
|
||||
{
|
||||
tooltip =
|
||||
{
|
||||
# fade: Fade the particular type of windows.
|
||||
fade = true;
|
||||
# shadow: Give those windows shadow
|
||||
shadow = false;
|
||||
# opacity: Default opacity for the type of windows.
|
||||
opacity = 1;
|
||||
# focus: Whether to always consider windows of this type focused.
|
||||
focus = true;
|
||||
};
|
||||
};
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
diff -ruN src-old/connman-dbus.conf src/connman-dbus.conf
|
||||
--- src-old/connman-dbus.conf 2011-11-08 15:29:09.000000000 +0000
|
||||
+++ src/connman-dbus.conf 2011-11-08 15:28:11.000000000 +0000
|
||||
@@ -9,8 +9,15 @@
|
||||
</policy>
|
||||
<policy at_console="true">
|
||||
<allow send_destination="net.connman"/>
|
||||
+ <allow send_interface="net.connman.Agent"/>
|
||||
+ <allow send_interface="net.connman.Counter"/>
|
||||
+ <allow send_interface="net.connman.Manager"/>
|
||||
</policy>
|
||||
<policy context="default">
|
||||
+ <deny own="net.connman"/>
|
||||
<deny send_destination="net.connman"/>
|
||||
+ <deny send_interface="net.connman.Agent"/>
|
||||
+ <deny send_interface="net.connman.Counter"/>
|
||||
+ <deny send_interface="net.connman.Manager"/>
|
||||
</policy>
|
||||
</busconfig>
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
diff -Nru console-setup/console-setup-1.205ubuntu3-11.0trisquel5.4/debian/console-setup-udeb.base-installer console-setup_diff/console-setup-1.205ubuntu3-11.0trisquel5.2/debian/console-setup-udeb.base-installer
|
||||
--- console-setup/console-setup-1.205ubuntu3-11.0trisquel5.4/debian/console-setup-udeb.base-installer 2021-07-23 22:45:19.000000000 -0500
|
||||
+++ console-setup_diff/console-setup-1.205ubuntu3-11.0trisquel5.2/debian/console-setup-udeb.base-installer 2022-12-17 18:07:01.460681582 -0600
|
||||
@@ -21,9 +21,8 @@
|
||||
if ! db_get oem-config/enable || [ "$RET" != true ]; then
|
||||
# create the required templates
|
||||
debconf-copydb -p "^keyboard-configuration/.*$" configdb target_configdb
|
||||
-
|
||||
- # mark the questions as seen
|
||||
- for template in \## SEEN TEMPLATES ## all templates of keyb-conf except alerts and ctrl_alt_bksp
|
||||
+ for template in \
|
||||
+## SEEN TEMPLATES ## all templates of keyb-conf except alerts and ctrl_alt_bksp
|
||||
do
|
||||
echo keyboard-configuration $template seen true
|
||||
done | chroot /target debconf-set-selections
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
diff --git a/debian/copyright b/debian/copyright
|
||||
index 3c8824f..c6ec81a 100644
|
||||
--- a/debian/copyright
|
||||
+++ b/debian/copyright
|
||||
@@ -38,7 +38,7 @@ License: GPL-2+
|
||||
|
||||
Files: debian/examples/crontab2english.pl
|
||||
Copyright: 2001, Sean M. Burke
|
||||
-License: Artistic
|
||||
+License: GPL-1+ or Artistic
|
||||
|
||||
License: Paul-Vixie's-license
|
||||
Distribute freely, except: don't remove my name from the source or
|
||||
@@ -67,6 +67,23 @@ License: GPL-2+
|
||||
On Debian systems, the complete text of the GNU General
|
||||
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
|
||||
|
||||
+License: GPL-1+
|
||||
+ This package is free software; you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation; either version 1 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+ .
|
||||
+ This package is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ GNU General Public License for more details.
|
||||
+ .
|
||||
+ You should have received a copy of the GNU General Public License
|
||||
+ along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
+ .
|
||||
+ On Debian systems, the complete text of the GNU General
|
||||
+ Public License version 1 can be found in "/usr/share/common-licenses/GPL-1".
|
||||
+
|
||||
License: Artistic
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the "Artistic License" which comes with Debian.
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
diff --git a/tools/main.cpp b/tools/main.cpp
|
||||
index 813aba5a..5f91e057 100644
|
||||
--- a/tools/main.cpp
|
||||
+++ b/tools/main.cpp
|
||||
@@ -37,6 +37,8 @@
|
||||
|
||||
#include <DebconfGui.h>
|
||||
|
||||
+#include <pwd.h>
|
||||
+
|
||||
using namespace DebconfKde;
|
||||
|
||||
// Handle SIGQUIT. Clients (e.g. packagekit) may use QUIT which would otherwise
|
||||
@@ -73,6 +76,19 @@ static void setupQuitHandler() {
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
+ /* TPH: #212 | LP: #1851573 — When the helper is started through pkexec/aptdaemon
|
||||
+ * the environment may arrive without $HOME. Without HOME, KConfig writes
|
||||
+ * to "//.config/..." and shows a "not writable" dialog for every debconf
|
||||
+ * question. Substitute the passwd entry’s home directory.
|
||||
+ */
|
||||
+ const char *homeEnv = getenv("HOME");
|
||||
+ if (!homeEnv || homeEnv[0] == '\0') {
|
||||
+ struct passwd *pw = getpwuid(getuid());
|
||||
+ if (pw && pw->pw_dir) {
|
||||
+ setenv("HOME", pw->pw_dir, /* overwrite = */ 1);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
QApplication app(argc, argv);
|
||||
setupQuitHandler();
|
||||
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
diff --git a/build/Makefile b/build/Makefile
|
||||
index 0aeccf2a..17cf6a43 100644
|
||||
--- a/build/Makefile
|
||||
+++ b/build/Makefile
|
||||
@@ -673,7 +673,7 @@ sources.list.udeb:
|
||||
echo "deb $(MIRROR) unreleased $(UDEB_COMPONENTS)"; \
|
||||
fi \
|
||||
else \
|
||||
- gen-sources.list.udeb "$(SYSTEM_SOURCES_LIST)" $(USE_UDEBS_FROM) "$(UDEB_COMPONENTS)" $(USE_PROPOSED_UPDATES); \
|
||||
+ gen-sources.list.udeb "$(SYSTEM_SOURCES_LIST)" $(USE_UDEBS_FROM) "$(UDEB_COMPONENTS)"; \
|
||||
if [ "$(USE_UNRELEASED)" = 1 ]; then \
|
||||
gen-sources.list.udeb "$(SYSTEM_SOURCES_LIST)" unreleased "$(UDEB_COMPONENTS)"; \
|
||||
fi \
|
||||
diff --git a/debian/rules b/debian/rules
|
||||
index 371e8b57..6caa6641 100755
|
||||
--- a/debian/rules
|
||||
+++ b/debian/rules
|
||||
@@ -13,7 +13,6 @@ TRANSSTATUS=
|
||||
BOOTMENU_BEEP=n
|
||||
else
|
||||
USE_UDEBS_FROM=trixie
|
||||
-USE_PROPOSED_UPDATES=0
|
||||
TRANSSTATUS=translation-status
|
||||
BOOTMENU_BEEP=y
|
||||
endif
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
diff --git a/build/Makefile b/build/Makefile
|
||||
index d45f982c..353e516e 100644
|
||||
--- a/build/Makefile
|
||||
+++ b/build/Makefile
|
||||
@@ -458,6 +458,13 @@ ifneq (,$(filter $(ARCH),amd64 arm64 i386))
|
||||
fi
|
||||
endif
|
||||
|
||||
+ifneq ($(DEB_HOST_ARCH),ppc64el)
|
||||
+ find $(TREE)/lib/$(DEB_HOST_MULTIARCH)/ -name "ld-linux*" | xargs -r chmod 755
|
||||
+endif
|
||||
+ifeq ($(DEB_HOST_ARCH),ppc64el)
|
||||
+ chmod 755 $(TREE)/lib/$(DEB_HOST_MULTIARCH)/ld*.so*
|
||||
+endif
|
||||
+
|
||||
# Set up modules.dep, ensure there is at least one standard dir (kernel
|
||||
# in this case), so depmod will use its prune list for archs with no
|
||||
# modules.
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
diff -Nru debian-installer-20210731+deb11u8+11.0trisquel13/build/config/amd64.cfg debian-installer-20210731+deb11u8+11.0trisquel13_/build/config/amd64.cfg
|
||||
--- debian-installer-20210731+deb11u8+11.0trisquel13/build/config/amd64.cfg 2023-05-12 13:48:56.045639664 -0600
|
||||
+++ debian-installer-20210731+deb11u8+11.0trisquel13_/build/config/amd64.cfg 2023-05-12 14:00:23.091630526 -0600
|
||||
@@ -1,4 +1,4 @@
|
||||
-MEDIUM_SUPPORTED = cdrom cdrom-xen netboot netboot-gtk netboot-xen hd-media
|
||||
+MEDIUM_SUPPORTED = cdrom netboot
|
||||
MEDIUM_SUPPORTED_EXTRA = monolithic
|
||||
|
||||
# The version of the kernel to use.
|
||||
diff -Nru debian-installer-20210731+deb11u8+11.0trisquel13/build/config/arm64.cfg debian-installer-20210731+deb11u8+11.0trisquel13_/build/config/arm64.cfg
|
||||
--- debian-installer-20210731+deb11u8+11.0trisquel13/build/config/arm64.cfg 2023-05-12 13:48:56.073639701 -0600
|
||||
+++ debian-installer-20210731+deb11u8+11.0trisquel13_/build/config/arm64.cfg 2023-05-12 14:00:45.351718688 -0600
|
||||
@@ -1,4 +1,4 @@
|
||||
-MEDIUM_SUPPORTED = cdrom netboot netboot-gtk device-tree u-boot
|
||||
+MEDIUM_SUPPORTED = cdrom netboot device-tree u-boot
|
||||
|
||||
KERNELMAJOR = 2.6
|
||||
# The version of the kernel to use.
|
||||
diff -Nru debian-installer-20210731+deb11u8+11.0trisquel13/build/config/armhf.cfg debian-installer-20210731+deb11u8+11.0trisquel13_/build/config/armhf.cfg
|
||||
--- debian-installer-20210731+deb11u8+11.0trisquel13/build/config/armhf.cfg 2023-05-12 13:48:59.157643670 -0600
|
||||
+++ debian-installer-20210731+deb11u8+11.0trisquel13_/build/config/armhf.cfg 2023-05-12 14:01:10.243818298 -0600
|
||||
@@ -1,4 +1,4 @@
|
||||
-MEDIUM_SUPPORTED = hd-media netboot network-console netboot-gtk device-tree u-boot cdrom
|
||||
+MEDIUM_SUPPORTED = netboot device-tree u-boot cdrom
|
||||
|
||||
MKLIBS = mklibs-copy --ldlib=/lib/ld-linux-armhf.so.3
|
||||
|
||||
diff -Nru debian-installer-20210731+deb11u8+11.0trisquel13/build/config/i386.cfg debian-installer-20210731+deb11u8+11.0trisquel13_/build/config/i386.cfg
|
||||
--- debian-installer-20210731+deb11u8+11.0trisquel13/build/config/i386.cfg 2023-01-08 16:22:52.000000000 -0600
|
||||
+++ debian-installer-20210731+deb11u8+11.0trisquel13_/build/config/i386.cfg 2023-05-12 13:59:51.799508139 -0600
|
||||
@@ -1,4 +1,4 @@
|
||||
-MEDIUM_SUPPORTED = cdrom cdrom-xen netboot netboot-gtk netboot-xen hd-media
|
||||
+MEDIUM_SUPPORTED = cdrom netboot
|
||||
MEDIUM_SUPPORTED_EXTRA = monolithic
|
||||
|
||||
# The version of the kernel to use.
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
diff --git a/debian/control b/debian/control
|
||||
index c56adcf9..d45d50c4 100644
|
||||
--- a/debian/control
|
||||
+++ b/debian/control
|
||||
@@ -168,8 +168,8 @@ Build-Depends:
|
||||
# when creating ISO hybrid images on amd64 and i386 systems.
|
||||
fontconfig,
|
||||
# Used to generate a font cache through fc-cache, for gtk flavours
|
||||
- linux-image-@@DEBIAN_KERNEL@@-amd64 [amd64],
|
||||
- linux-image-@@DEBIAN_KERNEL@@-arm64 [arm64],
|
||||
+ linux-image-@@DEBIAN_KERNEL@@-generic [amd64],
|
||||
+ linux-image-@@DEBIAN_KERNEL@@-generic [arm64],
|
||||
# Ship some more drm modules, without waiting on fb-modules (#1036019)
|
||||
|
||||
Package: debian-installer
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
diff --git a/build/config/x86.cfg b/build/config/x86.cfg
|
||||
index 5ddc8cef..74ddad61 100644
|
||||
--- a/build/config/x86.cfg
|
||||
+++ b/build/config/x86.cfg
|
||||
@@ -443,8 +443,8 @@ arch_netboot_dir: x86_syslinux x86_grub_efi
|
||||
mkdir -p $(TEMP_DEPTHCHARGE)
|
||||
depthchargectl build -v \
|
||||
--board amd64-generic \
|
||||
- --kernel-release $(KERNELVERSION) \
|
||||
+ --kernel-release '' \
|
||||
--kernel $(TEMP_KERNEL) \
|
||||
--initramfs $(TEMP_INITRD) \
|
||||
--root none \
|
||||
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
diff --git a/build/Makefile b/build/Makefile
|
||||
index 8a4717cb..c1c1c239 100644
|
||||
--- a/build/Makefile
|
||||
+++ b/build/Makefile
|
||||
@@ -428,8 +428,12 @@ ifeq ($(filter $(DEB_HOST_ARCH),mips64el hppa sh4),)
|
||||
# though (see KERNELNAME variable).
|
||||
VMLINUXZ=`find $(TREE)/boot/ -name 'vmlinu[xz]-*'`; \
|
||||
if [ `echo "$$VMLINUXZ" | wc -w` != 1 ]; then \
|
||||
+ if [ ! -e $(TREE)/boot/vmlinuz ] && [ ! -e $(TREE)/boot/vmlinux ]; then \
|
||||
echo "E: unexpected number of vmlinu[xz]-* in tree: $$VMLINUXZ (expected: 1)" >&2; \
|
||||
exit 1; \
|
||||
+ else \
|
||||
+ echo "W: skipping unversioning; vmlinuz/vmlinux already exists" >&2; \
|
||||
+ fi; \
|
||||
else \
|
||||
echo "I: unversioning vmlinu[xz]" >&2; \
|
||||
mv -v $$VMLINUXZ $(TREE)/boot/`basename $$VMLINUXZ|sed 's/-.*//'`; \
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
diff --git a/build/util/grub-gencfg b/build/util/grub-gencfg
|
||||
index 6b38cd88..f5df37a5 100755
|
||||
--- a/build/util/grub-gencfg
|
||||
+++ b/build/util/grub-gencfg
|
||||
@@ -208,54 +208,18 @@ menuentry("Install");
|
||||
menuentry("Graphical install", Graphical => 1);
|
||||
|
||||
start_submenu("Advanced options ...", Hotkey => 'a'); {
|
||||
- menuentry("... Graphical expert install", Graphical => 1, Expert => 1);
|
||||
- menuentry("... Graphical rescue mode", Graphical => 1, Rescue => 1);
|
||||
- menuentry("... Graphical automated install", Graphical => 1, Auto => 1);
|
||||
menuentry("... Expert install", Expert => 1);
|
||||
menuentry("... Rescue mode", Rescue => 1);
|
||||
menuentry("... Automated install", Auto => 1);
|
||||
menuentry("... Expert install with speech synthesis", Expert => 1, Speech => 1, Hotkey => 'x');
|
||||
menuentry("... Rescue mode with speech synthesis", Rescue => 1, Speech => 1, Hotkey => 'r');
|
||||
menuentry("... Automated install with speech synthesis", Auto => 1, Speech => 1, Hotkey => 'a');
|
||||
-
|
||||
- start_submenu("... Desktop environment menu ..."); {
|
||||
-
|
||||
- foreach ( ["GNOME", "gnome"], ["KDE Plasma", "kde"], ["LXDE", "lxde"] ) {
|
||||
- my ($desktop,$opt) = @{$_};
|
||||
-
|
||||
- my $one = sub { my ($title, %xargs) = @_;
|
||||
- $xargs{Desktop} = $opt;
|
||||
- menuentry($title, %xargs);
|
||||
- };
|
||||
- start_submenu("... $desktop desktop boot menu ..."); {
|
||||
- $one->("... Install");
|
||||
- $one->("... Graphical install", Graphical => 1);
|
||||
-
|
||||
- start_submenu("... $desktop advanced options ..."); {
|
||||
- $one->("... Graphical expert install", Graphical => 1, Expert => 1);
|
||||
- $one->("... Graphical automated install", Graphical => 1, Auto => 1);
|
||||
- $one->("... Expert install", Expert => 1);
|
||||
- $one->("... Automated install", Auto => 1);
|
||||
- $one->("... Expert install with speech synthesis", Expert => 1, Speech => 1, Hotkey => 'x');
|
||||
- $one->("... Automated install with speech synthesis", Auto => 1, Speech => 1, Hotkey => 'a');
|
||||
- } end_submenu(); # $desktop advanced
|
||||
-
|
||||
- $one->("... Install with speech synthesis", Graphical => 1, Speech => 1, Hotkey => 's');
|
||||
- $one->("... 32 bit speech install", ThirtyTwo => 1, Graphical => 1, Speech => 1)
|
||||
- if $thirtytwo;
|
||||
- } end_submenu(); # $desktop submenu
|
||||
- } # Desktop loop
|
||||
- } end_submenu(); # Desktop submenu
|
||||
} end_submenu(); # Advanced
|
||||
|
||||
start_submenu("Accessible dark contrast installer menu ...", Hotkey => 'd', Dark => 1); {
|
||||
menuentry("... Install", Dark => 1);
|
||||
- menuentry("... Graphical install", Graphical => 1, Dark => 1);
|
||||
|
||||
start_submenu("... Advanced options ...", Hotkey => 'a', Dark => 1); {
|
||||
- menuentry("... Graphical expert install", Graphical => 1, Expert => 1, Dark => 1);
|
||||
- menuentry("... Graphical rescue mode", Graphical => 1, Rescue => 1, Dark => 1);
|
||||
- menuentry("... Graphical automated install", Graphical => 1, Auto => 1, Dark => 1);
|
||||
menuentry("... Expert install", Expert => 1, Dark => 1);
|
||||
menuentry("... Rescue mode", Rescue => 1, Dark => 1);
|
||||
menuentry("... Automated install", Auto => 1, Dark => 1);
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
=== modified file 'build/Makefile'
|
||||
--- a/build/Makefile 2010-11-05 16:34:29 +0000
|
||||
+++ b/build/Makefile 2011-03-01 11:42:39 +0000
|
||||
@@ -294,6 +294,7 @@
|
||||
rm -rf $(TREE)
|
||||
# Set up the basic files [u]dpkg needs.
|
||||
mkdir -p $(DPKGDIR)/info
|
||||
+ ln -nsf . $(DPKGDIR)/info/$(shell dpkg --print-architecture)
|
||||
touch $(DPKGDIR)/status
|
||||
# Create a tmp tree
|
||||
mkdir -p $(TREE)/tmp
|
||||
@@ -457,6 +458,7 @@
|
||||
|
||||
mkdir -p $(EXTRAUDEBSDIR)
|
||||
mkdir -p $(EXTRAUDEBSDPKGDIR)/info $(EXTRAUDEBSDPKGDIR)/updates
|
||||
+ ln -nsf . $(EXTRAUDEBSDPKGDIR)/info/$(shell dpkg --print-architecture)
|
||||
touch $(EXTRAUDEBSDPKGDIR)/status $(EXTRAUDEBSDPKGDIR)/available
|
||||
|
||||
ifdef EXTRADRIVERS
|
||||
|
||||
#=== modified file 'debian/changelog'
|
||||
#--- a/debian/changelog 2011-03-01 10:36:50 +0000
|
||||
#+++ b/debian/changelog 2011-03-01 11:42:39 +0000
|
||||
#@@ -1,3 +1,10 @@
|
||||
#+debian-installer (20101020ubuntu21) UNRELEASED; urgency=low
|
||||
#+
|
||||
#+ * Install /var/lib/dpkg/info/$(dpkg --print-architecture) -> . symlink so
|
||||
#+ that images build correctly in the presence of multiarch dpkg.
|
||||
#+
|
||||
#+ -- Colin Watson <cjwatson@ubuntu.com> Tue, 01 Mar 2011 11:41:38 +0000
|
||||
#+
|
||||
# debian-installer (20101020ubuntu20) natty; urgency=low
|
||||
#
|
||||
# * Stop building the armel dove subarchitecture; it no longer has a kernel
|
||||
#
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
=== modified file 'build/Makefile'
|
||||
#--- a/build/Makefile 2011-12-15 15:35:38 +0000
|
||||
#+++ b/build/Makefile 2012-04-18 05:24:59 +0000
|
||||
#@@ -493,6 +493,12 @@
|
||||
# `find $(TEMP) -type f -a \( -perm +0111 -o -name '*.so' -o -name '*.so.*' \) | \
|
||||
# grep -v udeblibs | grep -v 'usr/lib/xorg/modules/.*\.so'`
|
||||
#
|
||||
#+ifeq ($(DEB_HOST_ARCH),armhf)
|
||||
#+ # armhf has two linkers for now, while the world gets sorted
|
||||
#+ mkdir -p $(TREE)/lib/arm-linux-gnueabihf
|
||||
#+ ln -s /lib/ld-linux-armhf.so.3 $(TREE)/lib/arm-linux-gnueabihf/ld-linux.so.3
|
||||
#+endif
|
||||
#+
|
||||
# ifeq ($(DEB_HOST_ARCH_OS),hurd)
|
||||
# # On Hurd the SONAME for the dynamic linker is ld.so.1, but binaries
|
||||
# # have the ld.so symlink as the interpreter. Ideally mklibs should
|
||||
#
|
||||
=== modified file 'build/config/armhf.cfg'
|
||||
--- a/build/config/armhf.cfg 2012-04-11 08:52:18 +0000
|
||||
+++ b/build/config/armhf.cfg 2012-04-18 05:24:59 +0000
|
||||
@@ -1,5 +1,7 @@
|
||||
SUBARCH_SUPPORTED = omap omap4 armadaxp
|
||||
|
||||
+MKLIBS = mklibs --ldlib=/lib/ld-linux-armhf.so.3
|
||||
+
|
||||
KERNELMAJOR = 2.6
|
||||
KERNELVERSION = 3.2.0-23
|
||||
KERNEL_FLAVOUR = di
|
||||
|
||||
#=== modified file 'debian/changelog'
|
||||
#--- a/debian/changelog 2012-04-13 13:14:35 +0000
|
||||
#+++ b/debian/changelog 2012-04-18 05:24:59 +0000
|
||||
#@@ -1,3 +1,12 @@
|
||||
#+debian-installer (20101020ubuntu134) precise; urgency=low
|
||||
#+
|
||||
#+ * Call mklibs with a hardcoded --ldlib in armhf.cfg, so we get a
|
||||
#+ deterministic result in our linker search, and then add the
|
||||
#+ symlink from the old linker path in build/Makefile (LP: #984007)
|
||||
#+ * Rebuild with latest omap4 kernels for ext2 support (LP: #984180)
|
||||
#+
|
||||
#+ -- Adam Conrad <adconrad@ubuntu.com> Tue, 17 Apr 2012 23:20:29 -0600
|
||||
#+
|
||||
# debian-installer (20101020ubuntu133) precise; urgency=low
|
||||
#
|
||||
# * Move armel/omap4 and armhf/omap4 to 3.2.0-1412.
|
||||
#
|
||||
|
|
@ -1,684 +0,0 @@
|
|||
=== modified file 'build/Makefile'
|
||||
--- a/build/Makefile 2015-01-22 12:10:03 +0000
|
||||
+++ b/build/Makefile 2015-03-17 21:09:21 +0000
|
||||
@@ -414,6 +414,14 @@
|
||||
|
||||
# These files are used to build special kernel images for some
|
||||
# subarchitectures. Move them out of the way.
|
||||
+ #
|
||||
+ # Merge note on the last if:
|
||||
+ # On Debian, the first two if statements have the side-effect of
|
||||
+ # moving the dtb files under $(TEMP)/lib. The device-tree
|
||||
+ # media type expects this and will look for the dtbs there.
|
||||
+ # Ubuntu installs dtbs into a different path (under
|
||||
+ # /lib/firmware), so we need to simulate that side-effect
|
||||
+ # here.
|
||||
$(foreach VERSION,$(KERNELVERSION), \
|
||||
if [ -d $(TREE)/usr/lib/kernel-image-$(VERSION) ]; then \
|
||||
mv $(TREE)/usr/lib/kernel-image-$(VERSION) \
|
||||
@@ -422,6 +430,10 @@
|
||||
if [ -d $(TREE)/usr/lib/linux-image-$(VERSION) ]; then \
|
||||
mv $(TREE)/usr/lib/linux-image-$(VERSION) \
|
||||
$(TEMP)/lib; \
|
||||
+ fi; \
|
||||
+ if [ -d $(TREE)/lib/firmware/$(VERSION)/device-tree ]; then \
|
||||
+ cp -a $(TREE)/lib/firmware/$(VERSION)/device-tree \
|
||||
+ $(TEMP)/lib; \
|
||||
fi;)
|
||||
endif
|
||||
endif
|
||||
#@@ -763,6 +775,16 @@
|
||||
# update-manifest $@ $(MANIFEST-KERNEL)
|
||||
# endif
|
||||
#
|
||||
#+$(DTBS): $(TEMP_KERNEL)
|
||||
#+ mkdir -p $(SOME_DEST)/$(EXTRANAME)
|
||||
#+ set -ex ; for dtb in $$(find $(TEMP_DTBS) -name "*.dtb") ; do \
|
||||
#+ tgt=$(SOME_DEST)/$(EXTRANAME)$$(basename $$dtb); \
|
||||
#+ cp $$dtb $$tgt ; \
|
||||
#+ update-manifest $$tgt "Device Tree Blob: $$(basename $$dtb)";\
|
||||
#+ done
|
||||
#+ cp boot/README.device-tree $@
|
||||
#+ update-manifest $@ "Device Tree Blobs README"
|
||||
#+
|
||||
# # bootable images
|
||||
# $(BOOT): $(TEMP_BOOT)
|
||||
# install -m 644 -D $(TEMP_BOOT)$(GZIPPED) $@
|
||||
|
||||
#=== added file 'build/boot/README.device-tree'
|
||||
#--- a/build/boot/README.device-tree 1970-01-01 00:00:00 +0000
|
||||
#+++ b/build/boot/README.device-tree 2015-02-13 23:50:29 +0000
|
||||
#@@ -0,0 +1,2 @@
|
||||
#+This directory contains all of the device-tree files shipped by the Ubuntu
|
||||
#+kernel package.
|
||||
|
||||
=== added directory 'build/boot/arm64'
|
||||
=== added directory 'build/boot/arm64/grub'
|
||||
=== added file 'build/boot/arm64/grub/grub-efi.cfg'
|
||||
#--- build/boot/arm64/grub/grub-efi.cfg 1970-01-01 00:00:00 +0000
|
||||
#+++ build/boot/arm64/grub/grub-efi.cfg 2015-02-24 04:58:57 +0000
|
||||
#@@ -0,0 +1,3 @@
|
||||
#+set menu_color_normal=cyan/blue
|
||||
#+set menu_color_highlight=white/blue
|
||||
#+
|
||||
|
||||
#=== modified file 'build/config/arm64.cfg'
|
||||
#--- a/build/config/arm64.cfg 2015-05-09 07:52:07 +0000
|
||||
#+++ b/build/config/arm64.cfg 2015-05-12 16:01:14 +0000
|
||||
#@@ -1,14 +1,98 @@
|
||||
#-SUBARCH_SUPPORTED = generic
|
||||
#-
|
||||
#-MKLIBS = mklibs-copy
|
||||
#+MEDIUM_SUPPORTED = cdrom netboot device-tree
|
||||
#
|
||||
# KERNELMAJOR = 2.6
|
||||
#-KERNELVERSION = 3.19.0-17
|
||||
#+KERNELVERSION = 3.19.0-17-generic
|
||||
# KERNEL_FLAVOUR = di
|
||||
# KERNELIMAGEVERSION = $(KERNELVERSION)
|
||||
#-KERNELNAME = $(foreach ver,$(KERNELVERSION),vmlinuz-$(ver))
|
||||
#+KERNELNAME = vmlinuz
|
||||
#
|
||||
#-VERSIONED_SYSTEM_MAP = t
|
||||
#+GRUB_EFI=y
|
||||
#+GRUB_PLATFORM=arm64-efi
|
||||
#+GRUB_EFI_NAME=aa64
|
||||
#+GRUB_FONT = /usr/share/grub/ascii.pf2
|
||||
#
|
||||
# arch_boot_screens:
|
||||
# arch_tree:
|
||||
#+
|
||||
#+# Extract GRUB EFI files.
|
||||
#+.PHONY: arm64_grub_efi
|
||||
#+arm64_grub_efi:
|
||||
#+ifeq ($(GRUB_EFI),y)
|
||||
#+ efi-image $(TEMP_GRUB_EFI) arm64-efi aa64 $(NETBOOT_PATH)
|
||||
#+endif
|
||||
#+
|
||||
#+
|
||||
#+# Supply GRUB EFI configuration.
|
||||
#+.PHONY: arch_cd_info_dir
|
||||
#+arch_cd_info_dir: arm64_grub_efi
|
||||
#+ -rm -f $(TEMP_CD_INFO_DIR)/*
|
||||
#+ mkdir -p $(TEMP_CD_INFO_DIR)
|
||||
#+
|
||||
#+ if [ "$(GRUB_EFI)" = y ]; then \
|
||||
#+ set -e; \
|
||||
#+ mkdir -p $(TEMP_CD_INFO_DIR)/grub/arm64-efi; \
|
||||
#+ cp -a $(TEMP_GRUB_EFI)/efi.img $(TEMP_CD_INFO_DIR)/grub/; \
|
||||
#+ grub-gencfg \
|
||||
#+ KERNEL /%install%/vmlinuz \
|
||||
#+ INITRD /%install%/initrd.gz \
|
||||
#+ HEADER boot/arm64/grub/grub-efi.cfg \
|
||||
#+ > $(TEMP_CD_INFO_DIR)/grub/grub.cfg; \
|
||||
#+ cp -a $(GRUB_FONT) $(TEMP_CD_INFO_DIR)/grub/font.pf2; \
|
||||
#+ cp -a $(TEMP_GRUB_EFI)/boot/grub/arm64-efi/* \
|
||||
#+ $(TEMP_CD_INFO_DIR)/grub/arm64-efi/; \
|
||||
#+ fi
|
||||
#+
|
||||
#+.PHONY: arch_miniiso
|
||||
#+arch_miniiso: arm64_grub_efi
|
||||
#+ -rm -f $(TEMP_CD_TREE)/*
|
||||
#+ mkdir -p $(TEMP_CD_TREE)
|
||||
#+
|
||||
#+ ln -f $(TEMP_KERNEL) $(TEMP_CD_TREE)/linux
|
||||
#+ ln -f $(TEMP_INITRD) $(TEMP_CD_TREE)/initrd.gz
|
||||
#+
|
||||
#+ mkdir -p $(TEMP_CD_TREE)/.disk
|
||||
#+ echo "$(DISTRIBUTION_NAME) $(DEBIAN_VERSION) $(ARCH) - netboot mini.iso $(BUILD_DATE)"\
|
||||
#+ > $(TEMP_CD_TREE)/.disk/info
|
||||
#+
|
||||
#+ if [ "$(GRUB_EFI)" = y ]; then \
|
||||
#+ set -e; \
|
||||
#+ mkdir -p $(TEMP_CD_TREE)/boot/grub/arm64-efi; \
|
||||
#+ cp -a $(TEMP_GRUB_EFI)/efi.img $(TEMP_CD_TREE)/boot/grub/; \
|
||||
#+ grub-gencfg \
|
||||
#+ KERNEL /linux \
|
||||
#+ INITRD /initrd.gz \
|
||||
#+ HEADER boot/arm64/grub/grub-efi.cfg \
|
||||
#+ > $(TEMP_CD_TREE)/boot/grub/grub.cfg; \
|
||||
#+ cp -a $(GRUB_FONT) $(TEMP_CD_TREE)/boot/grub/font.pf2; \
|
||||
#+ cp -a $(TEMP_GRUB_EFI)/boot/grub/arm64-efi/* \
|
||||
#+ $(TEMP_CD_TREE)/boot/grub/arm64-efi/; \
|
||||
#+ fi
|
||||
#+
|
||||
#+ if [ "$(GRUB_EFI)" = y ]; then \
|
||||
#+ xorriso -as mkisofs -r -J -c boot.cat \
|
||||
#+ -boot-load-size 4 -boot-info-table \
|
||||
#+ -eltorito-alt-boot \
|
||||
#+ --efi-boot boot/grub/efi.img -no-emul-boot \
|
||||
#+ -o $(TEMP_MINIISO) $(TEMP_CD_TREE); \
|
||||
#+ fi
|
||||
#+
|
||||
#+.PHONY: arch_netboot_dir
|
||||
#+arch_netboot_dir: arm64_grub_efi
|
||||
#+ -rm -f $(TEMP_NETBOOT_DIR)
|
||||
#+ mkdir -p $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)
|
||||
#+ cp $(TEMP_KERNEL) $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/linux
|
||||
#+ cp $(TEMP_INITRD) $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/initrd.gz
|
||||
#+
|
||||
#+ if [ "$(GRUB_EFI)" = y ]; then \
|
||||
#+ set -e; \
|
||||
#+ mkdir -p $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/grub/arm64-efi; \
|
||||
#+ cp -a $(TEMP_GRUB_EFI)/bootnetaa64.efi $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH); \
|
||||
#+ cp -a $(GRUB_FONT) $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/grub/font.pf2; \
|
||||
#+ cp -a $(TEMP_GRUB_EFI)/boot/grub/arm64-efi/* \
|
||||
#+ $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/grub/arm64-efi/; \
|
||||
#+ grub-gencfg \
|
||||
#+ KERNEL /$(NETBOOT_PATH)/linux \
|
||||
#+ INITRD /$(NETBOOT_PATH)/initrd.gz \
|
||||
#+ HEADER boot/arm64/grub/grub-efi.cfg \
|
||||
#+ > $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/grub/grub.cfg; \
|
||||
#+ fi
|
||||
|
||||
=== added directory 'build/config/arm64/cdrom'
|
||||
=== added file 'build/config/arm64/cdrom.cfg'
|
||||
#--- a/build/config/arm64/cdrom.cfg 1970-01-01 00:00:00 +0000
|
||||
#+++ b/build/config/arm64/cdrom.cfg 2015-02-24 05:14:26 +0000
|
||||
#@@ -0,0 +1,3 @@
|
||||
#+FLAVOUR_SUPPORTED = grub
|
||||
#+
|
||||
#+MEDIA_TYPE = CD-ROM
|
||||
|
||||
=== added file 'build/config/arm64/cdrom/grub.cfg'
|
||||
#--- a/build/config/arm64/cdrom/grub.cfg 1970-01-01 00:00:00 +0000
|
||||
#+++ b/build/config/arm64/cdrom/grub.cfg 2015-02-24 05:14:26 +0000
|
||||
#@@ -0,0 +1,8 @@
|
||||
#+MEDIA_TYPE = CD-ROM
|
||||
#+TARGET = $(INITRD) $(KERNEL) $(DEBIAN_CD_INFO)
|
||||
#+
|
||||
#+MANIFEST-KERNEL = "kernel for use with EFI to build a CD"
|
||||
#+MANIFEST-INITRD = "initrd for use with EFI to build a CD"
|
||||
#+MANIFEST-DEBIAN_CD_INFO = "EFI config files for CD"
|
||||
#+
|
||||
#+TYPE = cdrom/grub
|
||||
|
||||
#=== added file 'build/config/arm64/device-tree.cfg'
|
||||
#--- a/build/config/arm64/device-tree.cfg 1970-01-01 00:00:00 +0000
|
||||
#+++ b/build/config/arm64/device-tree.cfg 2015-02-13 23:51:06 +0000
|
||||
#@@ -0,0 +1,4 @@
|
||||
#+MEDIA_TYPE = device-tree blobs
|
||||
#+
|
||||
#+TARGET = $(DTBS)
|
||||
#+EXTRANAME = $(MEDIUM)/
|
||||
|
||||
#=== removed file 'build/config/arm64/generic.cfg'
|
||||
#--- a/build/config/arm64/generic.cfg 2014-01-27 14:09:42 +0000
|
||||
#+++ b/build/config/arm64/generic.cfg 1970-01-01 00:00:00 +0000
|
||||
#@@ -1,7 +0,0 @@
|
||||
#-MEDIUM_SUPPORTED = netboot
|
||||
#-
|
||||
#-# The version of the kernel to use.
|
||||
#-KERNELVERSION := $(KERNELVERSION)-generic
|
||||
#-# we use non-versioned filenames in the generic kernel udeb
|
||||
#-KERNELNAME = vmlinuz
|
||||
#-VERSIONED_SYSTEM_MAP =
|
||||
|
||||
#=== removed file 'build/config/arm64/generic/netboot.cfg'
|
||||
#--- a/build/config/arm64/generic/netboot.cfg 2015-02-27 10:58:49 +0000
|
||||
#+++ b/build/config/arm64/generic/netboot.cfg 1970-01-01 00:00:00 +0000
|
||||
#@@ -1,33 +0,0 @@
|
||||
#-MEDIA_TYPE = netboot image
|
||||
#-TARGET = $(TEMP_INITRD) $(TEMP_KERNEL) all-generic
|
||||
#-EXTRANAME = $(MEDIUM)/
|
||||
#-INITRD_FS = initramfs
|
||||
#-
|
||||
#-MANIFEST-INITRD = "netboot initrd"
|
||||
#-MANIFEST-KERNEL = "kernel image to netboot"
|
||||
#-
|
||||
#-generic:
|
||||
#- mkdir -p $(SOME_DEST)/$(EXTRANAME)/
|
||||
#- cp $(TEMP_KERNEL) $(SOME_DEST)/$(EXTRANAME)/vmlinuz
|
||||
#- cp $(TEMP_INITRD) $(SOME_DEST)/$(EXTRANAME)/initrd.gz
|
||||
#- update-manifest $(SOME_DEST)/$(EXTRANAME)vmlinuz "Linux kernel for generic ARM64"
|
||||
#- update-manifest $(SOME_DEST)/$(EXTRANAME)initrd.gz "initrd for generic ARM64"
|
||||
#-
|
||||
#-
|
||||
#-xgene:
|
||||
#- # Make sure our build environment is clean
|
||||
#- $(eval INSTALL_PATH=$(SOME_DEST)/netboot/xgene)
|
||||
#- rm -rf $(INSTALL_PATH)
|
||||
#- mkdir -p $(INSTALL_PATH)
|
||||
#-
|
||||
#- # Generate uImage/uInitrd
|
||||
#- mkimage -A arm -O linux -T kernel -C none -a 0x80000 -e 0x80000 -n "Ubuntu kernel" -d $(TEMP_KERNEL) $(INSTALL_PATH)/uImage
|
||||
#- mkimage -A arm -O linux -T ramdisk -C none -a 0x0 -e 0x0 -n "debian-installer ramdisk" -d $(TEMP_INITRD) $(INSTALL_PATH)/uInitrd
|
||||
#-
|
||||
#- install -m644 $(TEMP)/tree/lib/firmware/${KERNELVERSION}/device-tree/apm/apm-mustang.dtb $(INSTALL_PATH)
|
||||
#-
|
||||
#- update-manifest $(INSTALL_PATH)/uImage "Linux kernel for X-Gene Boards"
|
||||
#- update-manifest $(INSTALL_PATH)/uInitrd "initrd for X-Gene Boards"
|
||||
#- update-manifest $(INSTALL_PATH)/apm-mustang.dtb "Device Tree file for APM X-Gene Mustang Board"
|
||||
#-
|
||||
#-all-generic: generic xgene
|
||||
|
||||
=== added file 'build/config/arm64/netboot.cfg'
|
||||
#--- a/build/config/arm64/netboot.cfg 1970-01-01 00:00:00 +0000
|
||||
#+++ b/build/config/arm64/netboot.cfg 2015-02-24 05:45:09 +0000
|
||||
#@@ -0,0 +1,37 @@
|
||||
#+MEDIA_TYPE = netboot image
|
||||
#+
|
||||
#+NETBOOT_DIR_TARGETS = $(TEMP_INITRD) $(TEMP_KERNEL)
|
||||
#+TARGET = $(NETBOOT_DIR) $(NETBOOT_TAR) $(MINIISO)
|
||||
#+EXTRANAME = $(MEDIUM)/
|
||||
#+
|
||||
#+MANIFEST-NETBOOT_DIR = "PXE boot directory for tftp server"
|
||||
#+MANIFEST-NETBOOT_TAR = "tarball of PXE boot directory"
|
||||
#+MANIFEST-MINIISO = "tiny CD image that boots the netboot installer"
|
||||
#+
|
||||
#+.PHONY: arch_netboot_dir
|
||||
#+arch_netboot_dir:
|
||||
#+ -rm -f $(TEMP_NETBOOT_DIR)
|
||||
#+ mkdir -p $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)
|
||||
#+ cp $(TEMP_KERNEL) $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/linux
|
||||
#+ cp $(TEMP_INITRD) $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/initrd.gz
|
||||
#+
|
||||
#+ if [ "$(GRUB_EFI)" = y ]; then \
|
||||
#+ set -e; \
|
||||
#+ mkdir -p $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/grub/arm64-efi; \
|
||||
#+ cp -a $(TEMP_GRUB_EFI)/bootnetaa64.efi $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH); \
|
||||
#+ cp -a $(GRUB_FONT) $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/grub/font.pf2; \
|
||||
#+ cp -a $(TEMP_GRUB_EFI)/boot/grub/arm64-efi/* \
|
||||
#+ $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/grub/arm64-efi/; \
|
||||
#+ grub-gencfg \
|
||||
#+ KERNEL /$(NETBOOT_PATH)/linux \
|
||||
#+ INITRD /$(NETBOOT_PATH)/initrd.gz \
|
||||
#+ HEADER boot/arm64/grub/grub-efi.cfg \
|
||||
#+ > $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/grub/grub.cfg; \
|
||||
#+ fi
|
||||
#+
|
||||
#+ # Generate images for X-Gene systems using U-Boot.
|
||||
#+ # They don't currently support bootz.
|
||||
#+ $(eval XU_INSTALL_PATH=$(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/xgene-uboot)
|
||||
#+ mkdir -p $(XU_INSTALL_PATH)
|
||||
#+ mkimage -A arm -O linux -T kernel -C none -a 0x80000 -e 0x80000 -n "Ubuntu kernel" -d $(TEMP_KERNEL) $(XU_INSTALL_PATH)/uImage
|
||||
#+ mkimage -A arm -O linux -T ramdisk -C none -a 0x0 -e 0x0 -n "debian-installer ramdisk" -d $(TEMP_INITRD) $(XU_INSTALL_PATH)/uInitrd
|
||||
|
||||
#=== modified file 'build/config/dir'
|
||||
#--- a/build/config/dir 2010-08-25 22:06:28 +0000
|
||||
#+++ b/build/config/dir 2015-02-13 23:50:29 +0000
|
||||
#@@ -62,6 +62,7 @@
|
||||
# # The files we may want to have in dest/
|
||||
# INITRD = $(SOME_DEST)/$(EXTRANAME)initrd.gz
|
||||
# KERNEL = $(foreach name,$(KERNELNAME),$(SOME_DEST)/$(EXTRANAME)$(name))
|
||||
#+DTBS = $(SOME_DEST)/$(EXTRANAME)README
|
||||
# BOOT = $(SOME_DEST)/$(EXTRANAME)boot.img$(GZIPPED)
|
||||
# ROOT = $(SOME_DEST)/$(EXTRANAME)root.img$(GZIPPED)
|
||||
# EXTRA = $(SOME_DEST)/$(EXTRANAME).img$(GZIPPED)
|
||||
#@@ -76,6 +77,7 @@
|
||||
# TEMP_INITRD = $(TEMP)/initrd.gz
|
||||
# TEMP_UDEB_LIST = $(TEMP)/udeb.list
|
||||
# TEMP_KERNEL = $(foreach name,$(KERNELNAME),$(TEMP)/$(name))
|
||||
#+TEMP_DTBS = $(TEMP)/lib
|
||||
# TEMP_BOOT = $(TEMP)/boot.img
|
||||
# TEMP_ROOT = $(TEMP)/root.img
|
||||
# TEMP_MINIISO = $(TEMP)/mini.iso
|
||||
|
||||
#=== added file 'build/pkg-lists/cdrom/arm64.cfg'
|
||||
#--- a/build/pkg-lists/cdrom/arm64.cfg 1970-01-01 00:00:00 +0000
|
||||
#+++ b/build/pkg-lists/cdrom/arm64.cfg 2015-02-24 05:14:26 +0000
|
||||
#@@ -0,0 +1,11 @@
|
||||
#+fat-modules-${kernel:Version}
|
||||
#+storage-core-modules-${kernel:Version}
|
||||
#+input-modules-${kernel:Version}
|
||||
#+console-setup-udeb
|
||||
#+usb-modules-${kernel:Version} ?
|
||||
#+#serial-modules-${kernel:Version}
|
||||
#+usb-serial-modules-${kernel:Version} ?
|
||||
#+uinput-modules-${kernel:Version} ?
|
||||
#+
|
||||
#+# also support MMC/SD cards
|
||||
#+mmc-modules-${kernel:Version} ?
|
||||
|
||||
#=== added directory 'build/pkg-lists/cdrom/grub'
|
||||
#=== added file 'build/pkg-lists/cdrom/grub/arm64.cfg'
|
||||
#--- a/build/pkg-lists/cdrom/grub/arm64.cfg 1970-01-01 00:00:00 +0000
|
||||
#+++ b/build/pkg-lists/cdrom/grub/arm64.cfg 2015-02-24 05:14:26 +0000
|
||||
#@@ -0,0 +1,2 @@
|
||||
#+# This image is based on the regular cdrom image, and gets all the packages
|
||||
#+# from that one too.
|
||||
|
||||
#=== added file 'build/pkg-lists/cdrom/grub/common'
|
||||
#--- a/build/pkg-lists/cdrom/grub/common 1970-01-01 00:00:00 +0000
|
||||
#+++ b/build/pkg-lists/cdrom/grub/common 2015-03-17 21:09:21 +0000
|
||||
#@@ -0,0 +1,3 @@
|
||||
#+# This image is based on the regular cdrom image, and gets all the packages
|
||||
#+# from that one too.
|
||||
#+
|
||||
|
||||
=== added directory 'build/pkg-lists/device-tree'
|
||||
#=== added file 'build/pkg-lists/device-tree/arm64.cfg'
|
||||
#--- a/build/pkg-lists/device-tree/arm64.cfg 1970-01-01 00:00:00 +0000
|
||||
#+++ b/build/pkg-lists/device-tree/arm64.cfg 2015-02-13 23:51:06 +0000
|
||||
#@@ -0,0 +1,1 @@
|
||||
#+# Empty
|
||||
|
||||
=== added file 'build/pkg-lists/device-tree/common'
|
||||
#--- a/build/pkg-lists/device-tree/common 1970-01-01 00:00:00 +0000
|
||||
#+++ b/build/pkg-lists/device-tree/common 2015-02-13 23:50:29 +0000
|
||||
#@@ -0,0 +1,1 @@
|
||||
#+#include "kernel"
|
||||
|
||||
#=== modified file 'build/util/efi-image'
|
||||
#--- a/build/util/efi-image 2012-10-15 20:03:40 +0000
|
||||
#+++ b/build/util/efi-image 2015-02-24 04:58:57 +0000
|
||||
#@@ -22,13 +22,14 @@
|
||||
# # it exists.
|
||||
#
|
||||
# if [ -z "$1" ] || [ -z "$2" ]; then
|
||||
#- echo "usage: $0 OUTPUT-DIRECTORY GRUB-PLATFORM EFI-NAME"
|
||||
#+ echo "usage: $0 OUTPUT-DIRECTORY GRUB-PLATFORM EFI-NAME [NETBOOT-PREFIX]"
|
||||
# exit 1
|
||||
# fi
|
||||
#
|
||||
# outdir="$1"
|
||||
# platform="$2"
|
||||
# efi_name="$3"
|
||||
#+netboot_prefix="$4"
|
||||
#
|
||||
# memdisk_img=
|
||||
# workdir=
|
||||
#@@ -144,6 +145,11 @@
|
||||
# search iso9660 configfile normal memdisk tar part_msdos fat
|
||||
# fi
|
||||
#
|
||||
#+[ -z "$netboot_prefix" ] || \
|
||||
#+grub-mkimage -O "$platform" \
|
||||
#+ -o "$outdir/bootnet$efi_name.efi" -p "$netboot_prefix/grub" \
|
||||
#+ search configfile normal efinet tftp net
|
||||
#+
|
||||
# # Stuff it into a FAT filesystem, making it as small as possible. 24KiB
|
||||
# # headroom seems to be enough; (x+31)/32*32 rounds up to multiple of 32.
|
||||
# size=$(( $(stat -c %s "$workdir/boot$efi_name.efi") / 1024 ))
|
||||
|
||||
#=== added file 'build/util/grub-gencfg'
|
||||
#--- a/build/util/grub-gencfg 1970-01-01 00:00:00 +0000
|
||||
#+++ b/build/util/grub-gencfg 2015-03-23 23:27:39 +0000
|
||||
#@@ -0,0 +1,210 @@
|
||||
#+#!/usr/bin/perl
|
||||
#+
|
||||
#+# Invoke as:
|
||||
#+#
|
||||
#+# ./gen-grub-cfg KEY1 VAL1 KEY2 VAL2 ... -- COMMAND LINE
|
||||
#+#
|
||||
#+# Keys are:
|
||||
#+# KERNEL Normal kernel to use (required)
|
||||
#+# INITRD Normal initrd to use (required)
|
||||
#+# INITRD_GTK Graphical installer initrd (optional)
|
||||
#+#
|
||||
#+# KERNEL64 Alternative kernel for optional 64-bit entries
|
||||
#+# INITRD64 Alternative initrd for optional 64-bit entries
|
||||
#+# INITRD64_GTK Alternative graphical initrd for optional 64-bit entries
|
||||
#+#
|
||||
#+# THEME_PATH Path (in boot env) where themes are kept
|
||||
#+# HEADER Local path to file cat include as a header
|
||||
#+#
|
||||
#+# At least KERNEL and INITRD must be given.
|
||||
#+#
|
||||
#+# Unsupported:
|
||||
#+# DEBIAN_VERSION
|
||||
#+# BUILD_DATE
|
||||
#+#
|
||||
#+# TODO: Theme generation from template
|
||||
#+#
|
||||
#+# When invoked as:
|
||||
#+#
|
||||
#+# ./gen-grub-cfg \
|
||||
#+# KERNEL "/%install%/vmlinuz" \
|
||||
#+# KERNEL64 "/%install-amd%/vmlinuz" \
|
||||
#+# INITRD "/%install%/initrd.gz" \
|
||||
#+# INITRD64 "/%install-amd%/initrd.gz" \
|
||||
#+# INITRD_GTK "/%install%/gtk/initrd.gz" \
|
||||
#+# INITRD64_GTK "/%install-amd%/gtk/initrd.gz" \
|
||||
#+# THEME_PATH "/boot/grub/theme/" \
|
||||
#+# HEADER "build/boot/x86/grub/grub-efi.cfg" \
|
||||
#+# -- vga=788
|
||||
#+#
|
||||
#+# Will reproduce something similar to
|
||||
#+# debian-testing-amd64-netinst.iso::/boot/grub/grub.cfg weekly build
|
||||
#+# circa 2014-09-27.
|
||||
#+
|
||||
#+use warnings;
|
||||
#+use strict;
|
||||
#+
|
||||
#+my %VARS;
|
||||
#+
|
||||
#+while (@ARGV) {
|
||||
#+ my $key=shift;
|
||||
#+ last if $key eq "--";
|
||||
#+
|
||||
#+ my $value=shift;
|
||||
#+ $VARS{$key}=$value;
|
||||
#+}
|
||||
#+
|
||||
#+my @OPTS = @ARGV;
|
||||
#+
|
||||
#+die "No kernel?" unless $VARS{KERNEL};
|
||||
#+die "No initrd?" unless $VARS{INITRD};
|
||||
#+
|
||||
#+my $graphical = defined $VARS{INITRD_GTK};
|
||||
#+my $sixtyfour = defined $VARS{KERNEL64} && defined $VARS{INITRD64}
|
||||
#+ && (!$graphical || defined $VARS{INITRD64_GTK});
|
||||
#+my $themed = defined $VARS{THEME_PATH};
|
||||
#+
|
||||
#+my @menu_number = (1);
|
||||
#+
|
||||
#+sub print_indented ($)
|
||||
#+{
|
||||
#+ my ($text) = @_;
|
||||
#+ foreach ( split "\n", $text ) {
|
||||
#+ my $i = 1;
|
||||
#+ print " " while ( $i++ < $#menu_number );
|
||||
#+ print "$_";
|
||||
#+ print "\n";
|
||||
#+ }
|
||||
#+}
|
||||
#+
|
||||
#+sub menu_theme ()
|
||||
#+{
|
||||
#+ my $name = join "-", @menu_number;
|
||||
#+}
|
||||
#+sub print_set_theme ($)
|
||||
#+{
|
||||
#+ my ($theme) = @_;
|
||||
#+ return unless $themed;
|
||||
#+
|
||||
#+ print_indented("set theme=$VARS{THEME_PATH}$theme\n");
|
||||
#+}
|
||||
#+
|
||||
#+sub start_submenu ($)
|
||||
#+{
|
||||
#+ my ($title) = @_;
|
||||
#+
|
||||
#+ print_indented("submenu '$title' {\n");
|
||||
#+
|
||||
#+ my $theme = menu_theme();
|
||||
#+ push @menu_number, 1;
|
||||
#+
|
||||
#+ print_indented("set menu_color_normal=cyan/blue\n");
|
||||
#+ print_indented("set menu_color_highlight=white/blue\n");
|
||||
#+ print_set_theme($theme);
|
||||
#+}
|
||||
#+sub end_submenu ()
|
||||
#+{
|
||||
#+ pop @menu_number;
|
||||
#+ $menu_number[$#menu_number]++;
|
||||
#+ print_indented("}\n");
|
||||
#+}
|
||||
#+
|
||||
#+sub menuentry ($;%)
|
||||
#+{
|
||||
#+ my ($title,%xattr) = @_;
|
||||
#+
|
||||
#+ $xattr{SixtyFour} ||= 0;
|
||||
#+ $xattr{Graphical} ||= 0;
|
||||
#+
|
||||
#+ $xattr{Expert} ||= 0;
|
||||
#+ $xattr{Auto} ||= 0;
|
||||
#+ $xattr{Rescue} ||= 0;
|
||||
#+ $xattr{Speach} ||= 0;
|
||||
#+
|
||||
#+ $xattr{Quiet} = !$xattr{Expert} unless defined $xattr{Quiet};
|
||||
#+
|
||||
#+ return if $xattr{Graphical} && !$graphical;
|
||||
#+ return if $xattr{SixtyFour} && !$sixtyfour;
|
||||
#+
|
||||
#+ die "automated expert?" if $xattr{Expert} && $xattr{Auto};
|
||||
#+
|
||||
#+ my $kernel = $xattr{SixtyFour} ? $VARS{KERNEL64} : $VARS{KERNEL};
|
||||
#+ my $initrd = $xattr{Graphical} ? $VARS{INITRD_GTK} : $VARS{INITRD};
|
||||
#+ $initrd = $xattr{Graphical} ? $VARS{INITRD64_GTK} : $VARS{INITRD64}
|
||||
#+ if $xattr{SixtyFour};
|
||||
#+
|
||||
#+ die "no kernel" unless $kernel;
|
||||
#+ die "no initrd" unless $initrd;
|
||||
#+
|
||||
#+ my @cmdline;
|
||||
#+ # Ordering here is to allow diffing against previous versions of this file.
|
||||
#+ push @cmdline, "desktop=$xattr{Desktop}" if $xattr{Desktop};
|
||||
#+ push @cmdline, "priority=low" if $xattr{Expert};
|
||||
#+ push @cmdline, ("auto=true", "priority=critical") if $xattr{Auto};
|
||||
#+ push @cmdline, @OPTS;
|
||||
#+ push @cmdline, "rescue/enable=true" if $xattr{Rescue};
|
||||
#+ push @cmdline, "speakup.synth=soft" if $xattr{Speach};
|
||||
#+ push @cmdline, "---";
|
||||
#+ push @cmdline, "quiet" if $xattr{Quiet};
|
||||
#+
|
||||
#+ my $cmdline = join(" ", @cmdline);
|
||||
#+
|
||||
#+ print_indented (<<EOE);
|
||||
#+menuentry '$title' {
|
||||
#+ set background_color=black
|
||||
#+ linux $kernel $cmdline
|
||||
#+ initrd $initrd
|
||||
#+}
|
||||
#+EOE
|
||||
#+}
|
||||
#+
|
||||
#+if ( defined $VARS{HEADER} )
|
||||
#+{
|
||||
#+ open(HEADER, "<$VARS{HEADER}") or die "open header: $!";
|
||||
#+ print <HEADER> or die "write header: $!";
|
||||
#+ close(HEADER) or die "close header: $!";
|
||||
#+}
|
||||
#+
|
||||
#+print_set_theme(menu_theme());
|
||||
#+push @menu_number, 1;
|
||||
#+
|
||||
#+menuentry("Install");
|
||||
#+menuentry("Graphical install", Graphical => 1);
|
||||
#+
|
||||
#+start_submenu("Advanced options ..."); {
|
||||
#+ menuentry("... Expert install", Expert => 1);
|
||||
#+ menuentry("... Rescue mode", Rescue => 1);
|
||||
#+ menuentry("... Automated install", Auto => 1);
|
||||
#+ menuentry("... Graphical expert install", Graphical => 1, Expert => 1);
|
||||
#+ menuentry("... Graphical rescue mode", Graphical => 1, Rescue => 1);
|
||||
#+ menuentry("... Graphical automated install", Graphical => 1, Auto => 1);
|
||||
#+
|
||||
#+ start_submenu("... Desktop environment menu ..."); {
|
||||
#+
|
||||
#+ foreach ( ["GNOME", "gnome"], ["KDE", "kde"], ["LXDE", "lxde"] ) {
|
||||
#+ my ($desktop,$opt) = @{$_};
|
||||
#+
|
||||
#+ my $one = sub { my ($title, %xargs) = @_;
|
||||
#+ $xargs{Desktop} = $opt;
|
||||
#+ menuentry($title, %xargs);
|
||||
#+ };
|
||||
#+ start_submenu("... $desktop desktop boot menu ..."); {
|
||||
#+ $one->("... Install");
|
||||
#+ $one->("... Graphical install", Graphical => 1);
|
||||
#+
|
||||
#+ start_submenu("... $desktop advanced options ..."); {
|
||||
#+ $one->("... Expert install", Expert => 1);
|
||||
#+ $one->("... Automated install", Auto => 1);
|
||||
#+ $one->("... Graphical expert install", Graphical => 1, Expert => 1);
|
||||
#+ $one->("... Graphical automated install", Graphical => 1, Auto => 1);
|
||||
#+ } end_submenu(); # $desktop advanced
|
||||
#+
|
||||
#+ $one->("... Install with speech synthesis", Speach => 1);
|
||||
#+ $one->("... Install with speech synthesis", Graphical => 1, Speach => 1);
|
||||
#+ $one->("... 64 bit speech install", SixtyFour => 1, Graphical => 1, Speach => 1)
|
||||
#+ if $sixtyfour;
|
||||
#+ } end_submenu(); # $desktop submenu
|
||||
#+ } # Desktop loop
|
||||
#+ } end_submenu(); # Desktop submenu
|
||||
#+} end_submenu(); # Advanced
|
||||
#+menuentry('Install with speech synthesis', Graphical => $graphical, Speach => 1);
|
||||
|
||||
#=== modified file 'debian/changelog'
|
||||
#--- a/debian/changelog 2015-05-09 07:52:07 +0000
|
||||
#+++ b/debian/changelog 2015-05-14 14:24:09 +0000
|
||||
#@@ -1,3 +1,25 @@
|
||||
#+debian-installer (20101020ubuntu379) UNRELEASED; urgency=medium
|
||||
#+
|
||||
#+ [ dann frazier ]
|
||||
#+ * arm64: Use mklibs instead of cargo-culting mklibs-copy. This
|
||||
#+ currently reduces the initrd.gz by just under 1M and drops
|
||||
#+ an unnecessary delta against Debian.
|
||||
#+ * arm64: kernel and System.map aren't versioned, correct config.
|
||||
#+ No functional change.
|
||||
#+ * arm64: Stop calling "generic" a subarchitecture
|
||||
#+ * arm64: Rename netboot/xgene -> netboot/xgene-uboot
|
||||
#+ * Add device-tree medium infrastructure (from Debian)
|
||||
#+ * arm64: Enable device-tree medium
|
||||
#+ * arm64/xgene-uboot: apm-mustang.dtb is now in the device-tree directory,
|
||||
#+ so we can drop it from the xgene-uboot directory.
|
||||
#+ * arm64: Create a netboot tarball
|
||||
#+ * arm64: Add netboot mini.iso
|
||||
#+ * arm64: Build cdrom medium
|
||||
#+ * arm64/netboot: Add a grub/efi build for netboot
|
||||
#+ * grub-gencfg: Use --- as linux separator
|
||||
#+
|
||||
#+ -- Mathieu Trudel-Lapierre <mathieu-tl@ubuntu.com> Tue, 12 May 2015 15:45:32 -0400
|
||||
#+
|
||||
# debian-installer (20101020ubuntu378) wily; urgency=medium
|
||||
#
|
||||
# * Move master kernels to 3.19.0-17.
|
||||
|
||||
#=== modified file 'debian/control'
|
||||
#--- a/debian/control 2014-10-30 08:19:25 +0000
|
||||
#+++ b/debian/control 2015-04-03 21:16:40 +0000
|
||||
#@@ -9,7 +9,7 @@
|
||||
# Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/debian-installer/ubuntu
|
||||
# Build-Conflicts: libnewt-pic [mipsel]
|
||||
# # NOTE: Do not edit the next line by hand. See comment below.
|
||||
#-Build-Depends: debhelper (>= 7.0.0), apt, apt-utils, gnupg, ubuntu-keyring, dctrl-tools, wget, bc, debiandoc-sgml, xsltproc, docbook-xml, docbook-xsl, libbogl-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], lsb-release, glibc-pic, libslang2-pic (>= 2.0.6-4), libnewt-pic (>= 0.52.2-11.3) [!mipsel], libnewt-dev (>= 0.52.2-11.3) [mipsel], libgcc1 [i386 amd64], cramfsprogs [powerpc ia64 mips mipsel armeb armel], genext2fs (>= 1.3-7.1), e2fsprogs, mklibs (>= 0.1.25), genisoimage (>= 9:1.1.10-1ubuntu2) [!s390 !s390x], genromfs [sparc sparc64], hfsutils [powerpc], dosfstools (>= 3.0.9-1ubuntu2) [i386 ia64 m68k amd64 armel armhf], cpio, devio [armeb armel], parted [armel armhf], slugimage (>= 0.10+r58-6) [armeb armel], u-boot-tools [arm64 armel armhf], syslinux (>= 3:6) [i386 amd64], syslinux-utils (>= 3:6) [i386 amd64], pxelinux (>= 3:6) [i386 amd64], isolinux (>= 3:6) [i386 amd64], syslinux-common (>= 3:6) [i386 amd64], palo [hppa], elilo [ia64], yaboot [powerpc], aboot (>= 0.9b-2) [alpha], silo [sparc], sparc-utils [sparc sparc64], genisovh [mips], tip22 [mips], colo [mipsel], sibyl [mips mipsel], atari-bootstrap [m68k], vmelilo [m68k], m68k-vme-tftplilo [m68k], amiboot [m68k], emile [m68k], emile-bootblocks [m68k], u-boot [armel armhf], shim-signed [amd64], tofrodos [i386 amd64 kfreebsd-i386 kfreebsd-amd64], mtools [i386 ia64 m68k amd64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 armel armhf], po4a [i386 amd64], python3 (>= 3.1) [i386 amd64], module-init-tools [i386 arm64 armeb armel armhf amd64 alpha hppa ia64 m68k mips mipsel powerpc ppc64el s390 sh4 sparc sparc64], bf-utf-source [!s390 !s390x], mkvmlinuz [powerpc], openssl, makefs [kfreebsd-i386 kfreebsd-amd64], grub-pc (>= 1.98~20100101-1) [kfreebsd-i386 kfreebsd-amd64 hurd-i386], xorriso [kfreebsd-i386 kfreebsd-amd64 hurd-i386 ppc64el], grub-efi-amd64-bin (>= 2.00) [amd64], grub-common [amd64], debian-ports-archive-keyring [sh4 sparc64], grub-ieee1275-bin [ppc64el]
|
||||
#+Build-Depends: debhelper (>= 7.0.0), apt, apt-utils, gnupg, ubuntu-keyring, dctrl-tools, wget, bc, debiandoc-sgml, xsltproc, docbook-xml, docbook-xsl, libbogl-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], lsb-release, glibc-pic, libslang2-pic (>= 2.0.6-4), libnewt-pic (>= 0.52.2-11.3) [!mipsel], libnewt-dev (>= 0.52.2-11.3) [mipsel], libgcc1 [i386 amd64], cramfsprogs [powerpc ia64 mips mipsel armeb armel], genext2fs (>= 1.3-7.1), e2fsprogs, mklibs (>= 0.1.25), genisoimage (>= 9:1.1.10-1ubuntu2) [!s390 !s390x], genromfs [sparc sparc64], hfsutils [powerpc], dosfstools (>= 3.0.9-1ubuntu2) [i386 ia64 m68k amd64 armel armhf arm64], cpio, devio [armeb armel], parted [armel armhf], slugimage (>= 0.10+r58-6) [armeb armel], u-boot-tools [arm64 armel armhf], syslinux (>= 3:6) [i386 amd64], syslinux-utils (>= 3:6) [i386 amd64], pxelinux (>= 3:6) [i386 amd64], isolinux (>= 3:6) [i386 amd64], syslinux-common (>= 3:6) [i386 amd64], palo [hppa], elilo [ia64], yaboot [powerpc], aboot (>= 0.9b-2) [alpha], silo [sparc], sparc-utils [sparc sparc64], genisovh [mips], tip22 [mips], colo [mipsel], sibyl [mips mipsel], atari-bootstrap [m68k], vmelilo [m68k], m68k-vme-tftplilo [m68k], amiboot [m68k], emile [m68k], emile-bootblocks [m68k], u-boot [armel armhf], shim-signed [amd64], tofrodos [i386 amd64 kfreebsd-i386 kfreebsd-amd64], mtools [i386 ia64 m68k amd64 arm64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 armel armhf], po4a [i386 amd64], python3 (>= 3.1) [i386 amd64], module-init-tools [i386 arm64 armeb armel armhf amd64 alpha hppa ia64 m68k mips mipsel powerpc ppc64el s390 sh4 sparc sparc64], bf-utf-source [!s390 !s390x], mkvmlinuz [powerpc], openssl, makefs [kfreebsd-i386 kfreebsd-amd64], grub-pc (>= 1.98~20100101-1) [kfreebsd-i386 kfreebsd-amd64 hurd-i386], xorriso [arm64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 ppc64el], grub-efi-amd64-bin (>= 2.00) [amd64], grub-efi-arm64-bin [arm64], grub-common [amd64 arm64], debian-ports-archive-keyring [sh4 sparc64], grub-ieee1275-bin [ppc64el]
|
||||
# # This package has the worst Build-Depends in Debian, so it deserves some
|
||||
# # explanation. Note that this comment can also be used to generate a
|
||||
# # Build-Depends line, by running the debian/genbuilddeps program.
|
||||
#@@ -82,7 +82,7 @@
|
||||
# # default.)
|
||||
# # - hfsutils [powerpc]
|
||||
# # For making bootable HFS USB sticks for powerpc.
|
||||
#-# - dosfstools (>= 3.0.9-1ubuntu2) [i386 ia64 m68k amd64 armel armhf]
|
||||
#+# - dosfstools (>= 3.0.9-1ubuntu2) [i386 ia64 m68k amd64 armel armhf arm64]
|
||||
# # For creating FAT filesystems with mkfs.msdos.
|
||||
# # Of course i386/amd64 use this for floppies, CDs etc.
|
||||
# # ia64 uses it for floppies (?)
|
||||
#@@ -151,7 +151,7 @@
|
||||
# # - tofrodos [i386 amd64 kfreebsd-i386 kfreebsd-amd64]
|
||||
# # For todos, used on files that need to be accessible from
|
||||
# # DOS.
|
||||
#-# - mtools [i386 ia64 m68k amd64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 armel armhf]
|
||||
#+# - mtools [i386 ia64 m68k amd64 arm64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 armel armhf]
|
||||
# # mcopy is used to put files onto FAT filesystems w/o
|
||||
# # mounting them.
|
||||
# # - po4a [i386 amd64]
|
||||
#@@ -175,11 +175,11 @@
|
||||
# # Used to create an UFS1 filesystem from a directory tree.
|
||||
# # - grub-pc (>= 1.98~20100101-1) [kfreebsd-i386 kfreebsd-amd64 hurd-i386]
|
||||
# # Used as the CD-ROM's bootloader
|
||||
#-# - xorriso [kfreebsd-i386 kfreebsd-amd64 hurd-i386 ppc64el]
|
||||
#+# - xorriso [arm64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 ppc64el]
|
||||
# # Used by grub-pc/grub-ieee1275-bin to create the CD-ROM images
|
||||
#-# - grub-efi-amd64-bin (>= 2.00) [amd64]
|
||||
#+# - grub-efi-amd64-bin (>= 2.00) [amd64], grub-efi-arm64-bin [arm64]
|
||||
# # EFI bootloader support.
|
||||
#-# - grub-common [amd64]
|
||||
#+# - grub-common [amd64 arm64]
|
||||
# # For the GRUB font.
|
||||
# # - debian-ports-archive-keyring [sh4 sparc64]
|
||||
# # Used for architectures hosted on debian-ports.org
|
||||
|
||||
|
|
@ -1,220 +0,0 @@
|
|||
=== modified file 'build/Makefile'
|
||||
#--- a/build/Makefile 2015-12-09 17:32:28 +0000
|
||||
#+++ b/build/Makefile 2016-04-16 19:45:21 +0000
|
||||
#@@ -525,12 +525,6 @@
|
||||
# `find $(TEMP) -type f -a \( -perm /0111 -o -name '*.so' -o -name '*.so.*' \) | \
|
||||
# grep -v udeblibs | grep -v 'usr/lib/xorg/modules/.*\.so'`
|
||||
#
|
||||
#-ifeq ($(DEB_HOST_ARCH),armhf)
|
||||
#- # armhf has two linkers for now, while the world gets sorted
|
||||
#- mkdir -p $(TREE)/lib/arm-linux-gnueabihf
|
||||
#- ln -s /lib/ld-linux-armhf.so.3 $(TREE)/lib/arm-linux-gnueabihf/ld-linux.so.3
|
||||
#-endif
|
||||
#-
|
||||
# ifeq ($(DEB_HOST_ARCH_OS),hurd)
|
||||
# # On Hurd the SONAME for the dynamic linker is ld.so.1, but binaries
|
||||
# # have the ld.so symlink as the interpreter. Ideally mklibs should
|
||||
#
|
||||
#=== modified file 'build/config/amd64.cfg'
|
||||
#--- a/build/config/amd64.cfg 2016-04-08 14:58:47 +0000
|
||||
#+++ b/build/config/amd64.cfg 2016-04-16 19:45:21 +0000
|
||||
#@@ -1,8 +1,6 @@
|
||||
# MEDIUM_SUPPORTED = cdrom cdrom-xen netboot netboot-xen hd-media # netboot-gtk
|
||||
# MEDIUM_SUPPORTED_EXTRA = monolithic
|
||||
#
|
||||
#-MKLIBS = mklibs-copy
|
||||
#-
|
||||
# # The version of the kernel to use.
|
||||
# BASEVERSION = 4.4.0-18
|
||||
# KERNELVERSION = $(BASEVERSION)-generic
|
||||
|
||||
#=== modified file 'build/config/amd64/netboot.cfg'
|
||||
#--- a/build/config/amd64/netboot.cfg 2016-03-27 03:15:58 +0000
|
||||
#+++ b/build/config/amd64/netboot.cfg 2016-04-16 19:45:21 +0000
|
||||
#@@ -1,7 +1,7 @@
|
||||
# MEDIA_TYPE = netboot image
|
||||
#
|
||||
# # Not really a floppy; this is for use on USB memory sticks.
|
||||
#-FLOPPY_SIZE = 44032
|
||||
#+FLOPPY_SIZE = 45056
|
||||
# GZIPPED = .gz
|
||||
# DISK_LABEL = "bootable drive"
|
||||
|
||||
|
||||
=== modified file 'build/config/armhf.cfg'
|
||||
--- a/build/config/armhf.cfg 2016-04-08 14:58:47 +0000
|
||||
+++ b/build/config/armhf.cfg 2016-04-16 19:45:21 +0000
|
||||
@@ -1,6 +1,6 @@
|
||||
SUBARCH_SUPPORTED = generic-lpae generic
|
||||
|
||||
-MKLIBS = mklibs --ldlib=/lib/ld-linux-armhf.so.3
|
||||
+MKLIBS = mklibs-copy --ldlib=/lib/ld-linux-armhf.so.3
|
||||
|
||||
KERNELMAJOR = 2.6
|
||||
KERNELVERSION = 4.4.0-18
|
||||
|
||||
#=== modified file 'build/config/common'
|
||||
#--- a/build/config/common 2015-11-12 19:14:48 +0000
|
||||
#+++ b/build/config/common 2016-04-16 19:45:21 +0000
|
||||
#@@ -24,7 +24,7 @@
|
||||
#
|
||||
# # The library reducer to use. Set to mklibs (to build with library reduction)
|
||||
# # or mklibs-copy (to build without library reduction).
|
||||
#-MKLIBS = mklibs
|
||||
#+MKLIBS = mklibs-copy
|
||||
#
|
||||
# # Normally the sources.list for building d-i will be derived from your
|
||||
# # "normal" sources.list. However, you can specify a mirror here to override
|
||||
|
||||
#=== modified file 'build/config/i386/netboot.cfg'
|
||||
#--- a/build/config/i386/netboot.cfg 2016-03-22 04:37:29 +0000
|
||||
#+++ b/build/config/i386/netboot.cfg 2016-04-16 19:45:21 +0000
|
||||
#@@ -3,7 +3,7 @@
|
||||
# MEDIA_TYPE = netboot image
|
||||
#
|
||||
# # Not really a floppy; this is for use on USB memory sticks.
|
||||
#-FLOPPY_SIZE = 40960
|
||||
#+FLOPPY_SIZE = 41984
|
||||
# GZIPPED = .gz
|
||||
# DISK_LABEL = "bootable drive"
|
||||
|
||||
|
||||
#=== modified file 'build/config/powerpc/powerpc/netboot.cfg'
|
||||
#--- a/build/config/powerpc/powerpc/netboot.cfg 2016-03-22 05:15:29 +0000
|
||||
#+++ b/build/config/powerpc/powerpc/netboot.cfg 2016-04-16 19:45:21 +0000
|
||||
#@@ -1,7 +1,7 @@
|
||||
# MEDIA_TYPE = netboot image
|
||||
#
|
||||
# # Not really a floppy; this is for use on USB memory sticks.
|
||||
#-FLOPPY_SIZE = 49152
|
||||
#+FLOPPY_SIZE = 50176
|
||||
# GZIPPED = .gz
|
||||
# DISK_LABEL = "bootable drive"
|
||||
|
||||
|
||||
#=== modified file 'build/config/ppc64el.cfg'
|
||||
#--- a/build/config/ppc64el.cfg 2016-04-08 14:58:47 +0000
|
||||
#+++ b/build/config/ppc64el.cfg 2016-04-16 19:45:21 +0000
|
||||
#@@ -1,7 +1,5 @@
|
||||
# MEDIUM_SUPPORTED = netboot cdrom
|
||||
#
|
||||
#-MKLIBS = mklibs-copy
|
||||
#-
|
||||
# KERNELMAJOR = 2.6
|
||||
# BASEVERSION = 4.4.0-18
|
||||
# KERNELVERSION = $(BASEVERSION)-generic
|
||||
|
||||
#=== modified file 'build/pkg-lists/base'
|
||||
#--- a/build/pkg-lists/base 2015-09-22 18:31:39 +0000
|
||||
#+++ b/build/pkg-lists/base 2016-04-16 19:45:21 +0000
|
||||
#@@ -10,7 +10,6 @@
|
||||
# di-utils-shell
|
||||
# libdebconfclient0-udeb
|
||||
# libdebian-installer4-udeb
|
||||
#-libnss-dns-udeb
|
||||
# lowmemcheck
|
||||
# lsb-release-udeb
|
||||
# main-menu
|
||||
|
||||
#=== modified file 'build/pkg-lists/exclude'
|
||||
#--- a/build/pkg-lists/exclude 2010-05-24 15:01:07 +0000
|
||||
#+++ b/build/pkg-lists/exclude 2016-04-16 19:45:21 +0000
|
||||
#@@ -2,15 +2,6 @@
|
||||
# # they are currently provided not in udeb form but by the library
|
||||
# # reduction step.
|
||||
#
|
||||
#-# libc gets reduced, so using the udeb is not a good idea
|
||||
#-libc0.1 -
|
||||
#-libc0.1-udeb -
|
||||
#-libc0.3 -
|
||||
#-libc0.3-udeb -
|
||||
#-libc6 -
|
||||
#-libc6-udeb -
|
||||
#-libc6.1 -
|
||||
#-libc6.1-udeb -
|
||||
# # slang is also reduced
|
||||
# libslang2-udeb -
|
||||
# # and newt
|
||||
|
||||
#=== modified file 'build/pkg-lists/gtk-common'
|
||||
#--- a/build/pkg-lists/gtk-common 2015-05-14 17:55:41 +0000
|
||||
#+++ b/build/pkg-lists/gtk-common 2016-04-16 19:45:21 +0000
|
||||
#@@ -1,5 +1,4 @@
|
||||
# # udebs needed for graphical installer
|
||||
#-libnss-files-udeb
|
||||
# rootskel-gtk
|
||||
# cdebconf-gtk-udeb
|
||||
# cdebconf-gtk-terminal
|
||||
|
||||
#=== modified file 'build/pkg-lists/network-console'
|
||||
#--- a/build/pkg-lists/network-console 2004-06-29 08:17:34 +0000
|
||||
#+++ b/build/pkg-lists/network-console 2016-04-16 19:45:21 +0000
|
||||
#@@ -1,4 +1,3 @@
|
||||
# openssh-server-udeb
|
||||
#-libnss-files-udeb
|
||||
# network-console
|
||||
|
||||
|
||||
#=== modified file 'debian/changelog'
|
||||
#--- a/debian/changelog 2016-04-13 12:07:03 +0000
|
||||
#+++ b/debian/changelog 2016-04-16 19:45:21 +0000
|
||||
#@@ -1,3 +1,16 @@
|
||||
#+debian-installer (20101020ubuntu448) xenial; urgency=medium
|
||||
#+
|
||||
#+ * Cherry-pick changes from Debian for the removal of libnss-*-udeb:
|
||||
#+ - Switch to using mklibs-copy for the reduction on all arches.
|
||||
#+ - Drop the build-dependency on glibc-pic, unneeded for above.
|
||||
#+ - Stop excluding libc-udeb to avoid dropping libnss libraries
|
||||
#+ and to avoid a useless download of libc-udeb during install.
|
||||
#+ - Drop references to libnss-*-udeb, now provided by libc-udeb.
|
||||
#+ - Drop extra armhf linker, libc-udeb provides the same symlink.
|
||||
#+ * Bump FLOPPY_SIZE by 1MB on all arches to make room for the above.
|
||||
#+
|
||||
#+ -- Adam Conrad <adconrad@ubuntu.com> Sat, 16 Apr 2016 12:12:07 -0600
|
||||
#+
|
||||
# debian-installer (20101020ubuntu447) xenial; urgency=medium
|
||||
#
|
||||
# * Rebuild with updated udebs for s390x.
|
||||
|
||||
=== modified file 'debian/control'
|
||||
#--- a/debian/control 2016-02-19 17:00:28 +0000
|
||||
#+++ b/debian/control 2016-04-16 19:45:21 +0000
|
||||
#@@ -9,7 +9,7 @@
|
||||
# Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/debian-installer/ubuntu
|
||||
# Build-Conflicts: libnewt-pic [mipsel]
|
||||
# # NOTE: Do not edit the next line by hand. See comment below.
|
||||
#-Build-Depends: debhelper (>= 7.0.0), apt, apt-utils, gnupg, ubuntu-keyring, dctrl-tools, wget, bc, debiandoc-sgml, xsltproc, docbook-xml, docbook-xsl, libbogl-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], lsb-release, glibc-pic, libslang2-pic (>= 2.0.6-4), libnewt-pic (>= 0.52.2-11.3) [!mipsel], libnewt-dev (>= 0.52.2-11.3) [mipsel], libgcc1 [i386 amd64], cramfsprogs [powerpc ia64 mips mipsel armeb armel], genext2fs (>= 1.3-7.1), e2fsprogs, mklibs (>= 0.1.25), genisoimage (>= 9:1.1.10-1ubuntu2) [!s390 !s390x], genromfs [sparc sparc64], hfsutils [powerpc], dosfstools (>= 3.0.9-1ubuntu2) [i386 ia64 m68k amd64 armel armhf arm64], cpio, devio [armeb armel], parted [armel armhf], slugimage (>= 0.10+r58-6) [armeb armel], u-boot-tools [arm64 armel armhf], syslinux (>= 3:6) [i386 amd64], syslinux-utils (>= 3:6) [i386 amd64], pxelinux (>= 3:6) [i386 amd64], isolinux (>= 3:6) [i386 amd64], syslinux-common (>= 3:6) [i386 amd64], palo [hppa], elilo [ia64], yaboot [powerpc], aboot (>= 0.9b-2) [alpha], silo [sparc], sparc-utils [sparc sparc64], genisovh [mips], tip22 [mips], colo [mipsel], sibyl [mips mipsel], atari-bootstrap [m68k], vmelilo [m68k], m68k-vme-tftplilo [m68k], amiboot [m68k], emile [m68k], emile-bootblocks [m68k], u-boot [armel armhf], shim-signed [amd64], tofrodos [i386 amd64 kfreebsd-i386 kfreebsd-amd64], mtools [i386 ia64 m68k amd64 arm64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 armel armhf], po4a [i386 amd64], python3 (>= 3.1) [i386 amd64], kmod [linux-any], bf-utf-source [!s390 !s390x], mkvmlinuz [powerpc], openssl, makefs [kfreebsd-i386 kfreebsd-amd64], grub-pc (>= 1.98~20100101-1) [kfreebsd-i386 kfreebsd-amd64 hurd-i386], xorriso [arm64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 ppc64el], grub-efi-amd64-bin (>= 2.00) [amd64], grub-efi-arm64-bin [arm64], grub-common [amd64 arm64], debian-ports-archive-keyring [sh4 sparc64], grub-ieee1275-bin [ppc64el]
|
||||
#+Build-Depends: debhelper (>= 7.0.0), apt, apt-utils, gnupg, ubuntu-keyring, dctrl-tools, wget, bc, debiandoc-sgml, xsltproc, docbook-xml, docbook-xsl, libbogl-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], lsb-release, libslang2-pic (>= 2.0.6-4), libnewt-pic (>= 0.52.2-11.3) [!mipsel], libnewt-dev (>= 0.52.2-11.3) [mipsel], libgcc1 [i386 amd64], cramfsprogs [powerpc ia64 mips mipsel armeb armel], genext2fs (>= 1.3-7.1), e2fsprogs, mklibs (>= 0.1.40), mklibs-copy (>= 0.1.40), genisoimage (>= 9:1.1.10-1ubuntu2) [!s390 !s390x], genromfs [sparc sparc64], hfsutils [powerpc], dosfstools (>= 3.0.9-1ubuntu2) [i386 ia64 m68k amd64 armel armhf arm64], cpio, devio [armeb armel], parted [armel armhf], slugimage (>= 0.10+r58-6) [armeb armel], u-boot-tools [arm64 armel armhf], syslinux (>= 3:6) [i386 amd64], syslinux-utils (>= 3:6) [i386 amd64], pxelinux (>= 3:6) [i386 amd64], isolinux (>= 3:6) [i386 amd64], syslinux-common (>= 3:6) [i386 amd64], palo [hppa], elilo [ia64], yaboot [powerpc], aboot (>= 0.9b-2) [alpha], silo [sparc], sparc-utils [sparc sparc64], genisovh [mips], tip22 [mips], colo [mipsel], sibyl [mips mipsel], atari-bootstrap [m68k], vmelilo [m68k], m68k-vme-tftplilo [m68k], amiboot [m68k], emile [m68k], emile-bootblocks [m68k], u-boot [armel armhf], shim-signed [amd64], tofrodos [i386 amd64 kfreebsd-i386 kfreebsd-amd64], mtools [i386 ia64 m68k amd64 arm64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 armel armhf], po4a [i386 amd64], python3 (>= 3.1) [i386 amd64], kmod [linux-any], bf-utf-source [!s390 !s390x], mkvmlinuz [powerpc], openssl, makefs [kfreebsd-i386 kfreebsd-amd64], grub-pc (>= 1.98~20100101-1) [kfreebsd-i386 kfreebsd-amd64 hurd-i386], xorriso [arm64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 ppc64el], grub-efi-amd64-bin (>= 2.00) [amd64], grub-efi-arm64-bin [arm64], grub-common [amd64 arm64], debian-ports-archive-keyring [sh4 sparc64], grub-ieee1275-bin [ppc64el]
|
||||
# # This package has the worst Build-Depends in Debian, so it deserves some
|
||||
# # explanation. Note that this comment can also be used to generate a
|
||||
# # Build-Depends line, by running the debian/genbuilddeps program.
|
||||
#@@ -46,8 +46,6 @@
|
||||
# # Provides system version information.
|
||||
# #
|
||||
# # Library build dependencies:
|
||||
#-# - glibc-pic
|
||||
#-# For library reduction.
|
||||
# # - libslang2-pic (>= 2.0.6-4)
|
||||
# # Make dependency versioned temporarily to make sure we avoid #392942
|
||||
# # - libnewt-pic (>= 0.52.2-11.3) [!mipsel]
|
||||
#@@ -73,7 +71,7 @@
|
||||
# # them.
|
||||
# # Lintian: Yes, we know it's essential. We prefer not to
|
||||
# # count on it remaining so.
|
||||
#-# - mklibs (>= 0.1.25)
|
||||
#+# - mklibs (>= 0.1.40), mklibs-copy (>= 0.1.40)
|
||||
# # We use mklibs for library reduction.
|
||||
# # - genisoimage (>= 9:1.1.10-1ubuntu2) [!s390 !s390x]
|
||||
# # For making mini isos.
|
||||
##Ark74's fix
|
||||
--- a/debian/control 2023-05-10 08:36:56.311243556 -0600
|
||||
+++ b/debian/control 2023-05-10 12:00:07.617639516 -0600
|
||||
@@ -45,6 +45,7 @@
|
||||
# them.
|
||||
# Lintian: Yes, we know it's essential. We prefer not to
|
||||
# count on it remaining so.
|
||||
+ mklibs (>= 0.1.40), mklibs-copy (>= 0.1.40),
|
||||
genisoimage [!s390 !s390x],
|
||||
# For making mini isos.
|
||||
genromfs [sparc sparc64],
|
||||
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
=== modified file 'build/Makefile'
|
||||
--- a/build/Makefile 2018-02-15 11:44:41 +0000
|
||||
+++ b/build/Makefile 2018-07-22 10:55:51 +0000
|
||||
@@ -782,6 +782,8 @@
|
||||
update-manifest $@ $(MANIFEST-BOOT) $(UDEB_LISTS)
|
||||
|
||||
$(TEMP_KERNEL): $(STAMPS)tree-unpack-$(targetstring)-stamp
|
||||
+ # The kernel is shipped 600 in some cases, so fix it:
|
||||
+ chmod 644 $(TEMP_KERNEL)
|
||||
|
||||
$(TEMP_BOOT): $(TEMP_INITRD) $(TEMP_KERNEL) $(TEMP_BOOT_SCREENS) arch_boot
|
||||
|
||||
|
||||
#=== modified file 'debian/changelog'
|
||||
#--- a/debian/changelog 2018-06-14 10:36:23 +0000
|
||||
#+++ b/debian/changelog 2018-07-22 10:55:51 +0000
|
||||
#@@ -1,3 +1,9 @@
|
||||
#+debian-installer (20101020ubuntu547) UNRELEASED; urgency=medium
|
||||
#+
|
||||
#+ * Fix permissions on the netboot.tar kernel (LP: #1781036)
|
||||
#+
|
||||
#+ -- Adam Conrad <adconrad@ubuntu.com> Sun, 22 Jul 2018 04:55:01 -0600
|
||||
#+
|
||||
# debian-installer (20101020ubuntu546) cosmic; urgency=medium
|
||||
#
|
||||
# * Move master kernels to 4.15.0-23.
|
||||
#
|
||||
|
Before Width: | Height: | Size: 120 KiB |
|
|
@ -1 +0,0 @@
|
|||
trisquel
|
||||
|
|
@ -1 +0,0 @@
|
|||
trisquel
|
||||
|
|
@ -1 +0,0 @@
|
|||
trisquel
|
||||
|
|
@ -1 +0,0 @@
|
|||
trisquel
|
||||
|
|
@ -1 +0,0 @@
|
|||
trisquel
|
||||
|
|
@ -1 +0,0 @@
|
|||
trisquel
|
||||
|
|
@ -1 +0,0 @@
|
|||
trisquel
|
||||
|
|
@ -1 +0,0 @@
|
|||
trisquel
|
||||
|
|
@ -1 +0,0 @@
|
|||
trisquel
|
||||
|
|
@ -1 +0,0 @@
|
|||
trisquel
|
||||
|
|
@ -1 +0,0 @@
|
|||
trisquel
|
||||
|
|
@ -1 +0,0 @@
|
|||
trisquel
|
||||
|
|
@ -1 +0,0 @@
|
|||
trisquel
|
||||
|
|
@ -1 +0,0 @@
|
|||
trisquel
|
||||
|
|
@ -1,212 +0,0 @@
|
|||
default_mirror http://archive.trisquel.org/trisquel
|
||||
|
||||
mirror_style release
|
||||
download_style apt
|
||||
finddebs_style from-indices
|
||||
variants - buildd fakechroot minbase
|
||||
keyring /usr/share/keyrings/trisquel-archive-keyring.gpg
|
||||
|
||||
if doing_variant fakechroot; then
|
||||
test "$FAKECHROOT" = "true" || error 1 FAKECHROOTREQ "This variant requires fakechroot environment to be started"
|
||||
fi
|
||||
|
||||
case $ARCH in
|
||||
alpha|ia64) LIBC="libc6.1" ;;
|
||||
*) LIBC="libc6" ;;
|
||||
esac
|
||||
|
||||
work_out_debs () {
|
||||
required="$(get_debs Priority: required)"
|
||||
|
||||
if doing_variant -; then
|
||||
#required="$required $(get_debs Priority: important)"
|
||||
# ^^ should be getting debconf here somehow maybe
|
||||
base="$(get_debs Priority: important)"
|
||||
elif doing_variant buildd; then
|
||||
base="$(get_debs Build-Essential: yes)"
|
||||
elif doing_variant fakechroot || doing_variant minbase; then
|
||||
base="apt"
|
||||
fi
|
||||
|
||||
case $MIRRORS in
|
||||
https://*)
|
||||
base="$base apt-transport-https ca-certificates"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
first_stage_install () {
|
||||
extract $required
|
||||
|
||||
mkdir -p "$TARGET/var/lib/dpkg"
|
||||
: >"$TARGET/var/lib/dpkg/status"
|
||||
: >"$TARGET/var/lib/dpkg/available"
|
||||
|
||||
setup_etc
|
||||
if [ ! -e "$TARGET/etc/fstab" ]; then
|
||||
echo '# UNCONFIGURED FSTAB FOR BASE SYSTEM' > "$TARGET/etc/fstab"
|
||||
chown 0:0 "$TARGET/etc/fstab"; chmod 644 "$TARGET/etc/fstab"
|
||||
fi
|
||||
|
||||
setup_devices
|
||||
|
||||
x_feign_install () {
|
||||
local pkg="$1"
|
||||
local deb="$(debfor $pkg)"
|
||||
local ver="$(extract_deb_field "$TARGET/$deb" Version)"
|
||||
|
||||
mkdir -p "$TARGET/var/lib/dpkg/info"
|
||||
|
||||
echo \
|
||||
"Package: $pkg
|
||||
Version: $ver
|
||||
Status: install ok installed" >> "$TARGET/var/lib/dpkg/status"
|
||||
|
||||
touch "$TARGET/var/lib/dpkg/info/${pkg}.list"
|
||||
}
|
||||
|
||||
x_feign_install dpkg
|
||||
}
|
||||
|
||||
second_stage_install () {
|
||||
x_core_install () {
|
||||
smallyes '' | in_target dpkg --force-depends --install $(debfor "$@")
|
||||
}
|
||||
|
||||
p () {
|
||||
baseprog="$(($baseprog + ${1:-1}))"
|
||||
}
|
||||
|
||||
if doing_variant fakechroot; then
|
||||
setup_proc_fakechroot
|
||||
else
|
||||
setup_proc
|
||||
in_target /sbin/ldconfig
|
||||
fi
|
||||
|
||||
DEBIAN_FRONTEND=noninteractive
|
||||
DEBCONF_NONINTERACTIVE_SEEN=true
|
||||
export DEBIAN_FRONTEND DEBCONF_NONINTERACTIVE_SEEN
|
||||
|
||||
baseprog=0
|
||||
bases=7
|
||||
|
||||
p; progress $baseprog $bases INSTCORE "Installing core packages" #1
|
||||
info INSTCORE "Installing core packages..."
|
||||
|
||||
p; progress $baseprog $bases INSTCORE "Installing core packages" #2
|
||||
ln -sf mawk "$TARGET/usr/bin/awk"
|
||||
x_core_install base-passwd
|
||||
x_core_install base-files
|
||||
p; progress $baseprog $bases INSTCORE "Installing core packages" #3
|
||||
x_core_install dpkg
|
||||
|
||||
if [ ! -e "$TARGET/etc/localtime" ]; then
|
||||
ln -sf /usr/share/zoneinfo/Etc/UTC "$TARGET/etc/localtime"
|
||||
fi
|
||||
|
||||
if doing_variant fakechroot; then
|
||||
install_fakechroot_tools
|
||||
fi
|
||||
|
||||
p; progress $baseprog $bases INSTCORE "Installing core packages" #4
|
||||
x_core_install $LIBC
|
||||
|
||||
p; progress $baseprog $bases INSTCORE "Installing core packages" #5
|
||||
x_core_install perl-base
|
||||
|
||||
p; progress $baseprog $bases INSTCORE "Installing core packages" #6
|
||||
rm "$TARGET/usr/bin/awk"
|
||||
x_core_install mawk
|
||||
|
||||
p; progress $baseprog $bases INSTCORE "Installing core packages" #7
|
||||
if doing_variant -; then
|
||||
x_core_install debconf
|
||||
fi
|
||||
|
||||
baseprog=0
|
||||
bases=$(set -- $required; echo $#)
|
||||
|
||||
info UNPACKREQ "Unpacking required packages..."
|
||||
|
||||
smallyes '' |
|
||||
(repeatn 5 in_target_failmsg UNPACK_REQ_FAIL_FIVE "Failure while unpacking required packages. This will be attempted up to five times." "" \
|
||||
dpkg --status-fd 8 --force-depends --unpack $(debfor $required) 8>&1 1>&7 |
|
||||
dpkg_progress $baseprog $bases UNPACKREQ "Unpacking required packages" UNPACKING) 7>&1
|
||||
|
||||
info CONFREQ "Configuring required packages..."
|
||||
|
||||
if doing_variant fakechroot; then
|
||||
# fix initscripts postinst (no mounting possible, and wrong if condition)
|
||||
sed -i '/dpkg.*--compare-versions/ s/\<lt\>/lt-nl/' "$TARGET/var/lib/dpkg/info/initscripts.postinst"
|
||||
fi
|
||||
|
||||
echo \
|
||||
"#!/bin/sh
|
||||
exit 101" > "$TARGET/usr/sbin/policy-rc.d"
|
||||
chmod 755 "$TARGET/usr/sbin/policy-rc.d"
|
||||
|
||||
mv "$TARGET/sbin/start-stop-daemon" "$TARGET/sbin/start-stop-daemon.REAL"
|
||||
echo \
|
||||
"#!/bin/sh
|
||||
echo
|
||||
echo \"Warning: Fake start-stop-daemon called, doing nothing\"" > "$TARGET/sbin/start-stop-daemon"
|
||||
chmod 755 "$TARGET/sbin/start-stop-daemon"
|
||||
|
||||
if [ -x "$TARGET/sbin/initctl" ]; then
|
||||
mv "$TARGET/sbin/initctl" "$TARGET/sbin/initctl.REAL"
|
||||
echo \
|
||||
"#!/bin/sh
|
||||
if [ \"\$1\" = version ]; then exec /sbin/initctl.REAL \"\$@\"; fi
|
||||
echo
|
||||
echo \"Warning: Fake initctl called, doing nothing\"" > "$TARGET/sbin/initctl"
|
||||
chmod 755 "$TARGET/sbin/initctl"
|
||||
fi
|
||||
|
||||
setup_dselect_method apt
|
||||
|
||||
smallyes '' |
|
||||
(in_target_failmsg CONF_REQ_FAIL "Failure while configuring required packages." "" \
|
||||
dpkg --status-fd 8 --configure --pending --force-configure-any --force-depends 8>&1 1>&7 |
|
||||
dpkg_progress $baseprog $bases CONFREQ "Configuring required packages" CONFIGURING) 7>&1
|
||||
|
||||
baseprog=0
|
||||
bases="$(set -- $base; echo $#)"
|
||||
|
||||
info UNPACKBASE "Unpacking the base system..."
|
||||
|
||||
setup_available $required $base
|
||||
done_predeps=
|
||||
while predep=$(get_next_predep); do
|
||||
# We have to resolve dependencies of pre-dependencies manually because
|
||||
# dpkg --predep-package doesn't handle this.
|
||||
predep=$(without "$(without "$(resolve_deps $predep)" "$required")" "$done_predeps")
|
||||
# XXX: progress is tricky due to how dpkg_progress works
|
||||
# -- cjwatson 2009-07-29
|
||||
p; smallyes '' |
|
||||
in_target dpkg --force-overwrite --force-confold --skip-same-version --install $(debfor $predep)
|
||||
base=$(without "$base" "$predep")
|
||||
done_predeps="$done_predeps $predep"
|
||||
done
|
||||
|
||||
smallyes '' |
|
||||
(repeatn 5 in_target_failmsg INST_BASE_FAIL_FIVE "Failure while installing base packages. This will be re-attempted up to five times." "" \
|
||||
dpkg --status-fd 8 --force-overwrite --force-confold --skip-same-version --unpack $(debfor $base) 8>&1 1>&7 |
|
||||
dpkg_progress $baseprog $bases UNPACKBASE "Unpacking base system" UNPACKING) 7>&1
|
||||
|
||||
info CONFBASE "Configuring the base system..."
|
||||
|
||||
smallyes '' |
|
||||
(repeatn 5 in_target_failmsg CONF_BASE_FAIL_FIVE "Failure while configuring base packages. This will be re-attempted up to five times." "" \
|
||||
dpkg --status-fd 8 --force-confold --skip-same-version --configure -a 8>&1 1>&7 |
|
||||
dpkg_progress $baseprog $bases CONFBASE "Configuring base system" CONFIGURING) 7>&1
|
||||
|
||||
if [ -x "$TARGET/sbin/initctl.REAL" ]; then
|
||||
mv "$TARGET/sbin/initctl.REAL" "$TARGET/sbin/initctl"
|
||||
fi
|
||||
mv "$TARGET/sbin/start-stop-daemon.REAL" "$TARGET/sbin/start-stop-daemon"
|
||||
rm -f "$TARGET/usr/sbin/policy-rc.d"
|
||||
|
||||
progress $bases $bases CONFBASE "Configuring base system"
|
||||
info BASESUCCESS "Base system installed successfully."
|
||||
}
|
||||
|
|
@ -1,212 +0,0 @@
|
|||
default_mirror http://archive.trisquel.org/trisquel
|
||||
|
||||
mirror_style release
|
||||
download_style apt
|
||||
finddebs_style from-indices
|
||||
variants - buildd fakechroot minbase
|
||||
keyring /usr/share/keyrings/trisquel-archive-keyring.gpg
|
||||
|
||||
if doing_variant fakechroot; then
|
||||
test "$FAKECHROOT" = "true" || error 1 FAKECHROOTREQ "This variant requires fakechroot environment to be started"
|
||||
fi
|
||||
|
||||
case $ARCH in
|
||||
alpha|ia64) LIBC="libc6.1" ;;
|
||||
*) LIBC="libc6" ;;
|
||||
esac
|
||||
|
||||
work_out_debs () {
|
||||
required="$(get_debs Priority: required)"
|
||||
|
||||
if doing_variant -; then
|
||||
#required="$required $(get_debs Priority: important)"
|
||||
# ^^ should be getting debconf here somehow maybe
|
||||
base="$(get_debs Priority: important)"
|
||||
elif doing_variant buildd; then
|
||||
base="$(get_debs Build-Essential: yes)"
|
||||
elif doing_variant fakechroot || doing_variant minbase; then
|
||||
base="apt"
|
||||
fi
|
||||
|
||||
case $MIRRORS in
|
||||
https://*)
|
||||
base="$base apt-transport-https ca-certificates"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
first_stage_install () {
|
||||
extract $required
|
||||
|
||||
mkdir -p "$TARGET/var/lib/dpkg"
|
||||
: >"$TARGET/var/lib/dpkg/status"
|
||||
: >"$TARGET/var/lib/dpkg/available"
|
||||
|
||||
setup_etc
|
||||
if [ ! -e "$TARGET/etc/fstab" ]; then
|
||||
echo '# UNCONFIGURED FSTAB FOR BASE SYSTEM' > "$TARGET/etc/fstab"
|
||||
chown 0:0 "$TARGET/etc/fstab"; chmod 644 "$TARGET/etc/fstab"
|
||||
fi
|
||||
|
||||
setup_devices
|
||||
|
||||
x_feign_install () {
|
||||
local pkg="$1"
|
||||
local deb="$(debfor $pkg)"
|
||||
local ver="$(extract_deb_field "$TARGET/$deb" Version)"
|
||||
|
||||
mkdir -p "$TARGET/var/lib/dpkg/info"
|
||||
|
||||
echo \
|
||||
"Package: $pkg
|
||||
Version: $ver
|
||||
Status: install ok installed" >> "$TARGET/var/lib/dpkg/status"
|
||||
|
||||
touch "$TARGET/var/lib/dpkg/info/${pkg}.list"
|
||||
}
|
||||
|
||||
x_feign_install dpkg
|
||||
}
|
||||
|
||||
second_stage_install () {
|
||||
x_core_install () {
|
||||
smallyes '' | in_target dpkg --force-depends --install $(debfor "$@")
|
||||
}
|
||||
|
||||
p () {
|
||||
baseprog="$(($baseprog + ${1:-1}))"
|
||||
}
|
||||
|
||||
if doing_variant fakechroot; then
|
||||
setup_proc_fakechroot
|
||||
else
|
||||
setup_proc
|
||||
in_target /sbin/ldconfig
|
||||
fi
|
||||
|
||||
DEBIAN_FRONTEND=noninteractive
|
||||
DEBCONF_NONINTERACTIVE_SEEN=true
|
||||
export DEBIAN_FRONTEND DEBCONF_NONINTERACTIVE_SEEN
|
||||
|
||||
baseprog=0
|
||||
bases=7
|
||||
|
||||
p; progress $baseprog $bases INSTCORE "Installing core packages" #1
|
||||
info INSTCORE "Installing core packages..."
|
||||
|
||||
p; progress $baseprog $bases INSTCORE "Installing core packages" #2
|
||||
ln -sf mawk "$TARGET/usr/bin/awk"
|
||||
x_core_install base-passwd
|
||||
x_core_install base-files
|
||||
p; progress $baseprog $bases INSTCORE "Installing core packages" #3
|
||||
x_core_install dpkg
|
||||
|
||||
if [ ! -e "$TARGET/etc/localtime" ]; then
|
||||
ln -sf /usr/share/zoneinfo/Etc/UTC "$TARGET/etc/localtime"
|
||||
fi
|
||||
|
||||
if doing_variant fakechroot; then
|
||||
install_fakechroot_tools
|
||||
fi
|
||||
|
||||
p; progress $baseprog $bases INSTCORE "Installing core packages" #4
|
||||
x_core_install $LIBC
|
||||
|
||||
p; progress $baseprog $bases INSTCORE "Installing core packages" #5
|
||||
x_core_install perl-base
|
||||
|
||||
p; progress $baseprog $bases INSTCORE "Installing core packages" #6
|
||||
rm "$TARGET/usr/bin/awk"
|
||||
x_core_install mawk
|
||||
|
||||
p; progress $baseprog $bases INSTCORE "Installing core packages" #7
|
||||
if doing_variant -; then
|
||||
x_core_install debconf
|
||||
fi
|
||||
|
||||
baseprog=0
|
||||
bases=$(set -- $required; echo $#)
|
||||
|
||||
info UNPACKREQ "Unpacking required packages..."
|
||||
|
||||
smallyes '' |
|
||||
(repeatn 5 in_target_failmsg UNPACK_REQ_FAIL_FIVE "Failure while unpacking required packages. This will be attempted up to five times." "" \
|
||||
dpkg --status-fd 8 --force-depends --unpack $(debfor $required) 8>&1 1>&7 |
|
||||
dpkg_progress $baseprog $bases UNPACKREQ "Unpacking required packages" UNPACKING) 7>&1
|
||||
|
||||
info CONFREQ "Configuring required packages..."
|
||||
|
||||
if doing_variant fakechroot; then
|
||||
# fix initscripts postinst (no mounting possible, and wrong if condition)
|
||||
sed -i '/dpkg.*--compare-versions/ s/\<lt\>/lt-nl/' "$TARGET/var/lib/dpkg/info/initscripts.postinst"
|
||||
fi
|
||||
|
||||
echo \
|
||||
"#!/bin/sh
|
||||
exit 101" > "$TARGET/usr/sbin/policy-rc.d"
|
||||
chmod 755 "$TARGET/usr/sbin/policy-rc.d"
|
||||
|
||||
mv "$TARGET/sbin/start-stop-daemon" "$TARGET/sbin/start-stop-daemon.REAL"
|
||||
echo \
|
||||
"#!/bin/sh
|
||||
echo
|
||||
echo \"Warning: Fake start-stop-daemon called, doing nothing\"" > "$TARGET/sbin/start-stop-daemon"
|
||||
chmod 755 "$TARGET/sbin/start-stop-daemon"
|
||||
|
||||
if [ -x "$TARGET/sbin/initctl" ]; then
|
||||
mv "$TARGET/sbin/initctl" "$TARGET/sbin/initctl.REAL"
|
||||
echo \
|
||||
"#!/bin/sh
|
||||
if [ \"\$1\" = version ]; then exec /sbin/initctl.REAL \"\$@\"; fi
|
||||
echo
|
||||
echo \"Warning: Fake initctl called, doing nothing\"" > "$TARGET/sbin/initctl"
|
||||
chmod 755 "$TARGET/sbin/initctl"
|
||||
fi
|
||||
|
||||
setup_dselect_method apt
|
||||
|
||||
smallyes '' |
|
||||
(in_target_failmsg CONF_REQ_FAIL "Failure while configuring required packages." "" \
|
||||
dpkg --status-fd 8 --configure --pending --force-configure-any --force-depends 8>&1 1>&7 |
|
||||
dpkg_progress $baseprog $bases CONFREQ "Configuring required packages" CONFIGURING) 7>&1
|
||||
|
||||
baseprog=0
|
||||
bases="$(set -- $base; echo $#)"
|
||||
|
||||
info UNPACKBASE "Unpacking the base system..."
|
||||
|
||||
setup_available $required $base
|
||||
done_predeps=
|
||||
while predep=$(get_next_predep); do
|
||||
# We have to resolve dependencies of pre-dependencies manually because
|
||||
# dpkg --predep-package doesn't handle this.
|
||||
predep=$(without "$(without "$(resolve_deps $predep)" "$required")" "$done_predeps")
|
||||
# XXX: progress is tricky due to how dpkg_progress works
|
||||
# -- cjwatson 2009-07-29
|
||||
p; smallyes '' |
|
||||
in_target dpkg --force-overwrite --force-confold --skip-same-version --install $(debfor $predep)
|
||||
base=$(without "$base" "$predep")
|
||||
done_predeps="$done_predeps $predep"
|
||||
done
|
||||
|
||||
smallyes '' |
|
||||
(repeatn 5 in_target_failmsg INST_BASE_FAIL_FIVE "Failure while installing base packages. This will be re-attempted up to five times." "" \
|
||||
dpkg --status-fd 8 --force-overwrite --force-confold --skip-same-version --unpack $(debfor $base) 8>&1 1>&7 |
|
||||
dpkg_progress $baseprog $bases UNPACKBASE "Unpacking base system" UNPACKING) 7>&1
|
||||
|
||||
info CONFBASE "Configuring the base system..."
|
||||
|
||||
smallyes '' |
|
||||
(repeatn 5 in_target_failmsg CONF_BASE_FAIL_FIVE "Failure while configuring base packages. This will be re-attempted up to five times." "" \
|
||||
dpkg --status-fd 8 --force-confold --skip-same-version --configure -a 8>&1 1>&7 |
|
||||
dpkg_progress $baseprog $bases CONFBASE "Configuring base system" CONFIGURING) 7>&1
|
||||
|
||||
if [ -x "$TARGET/sbin/initctl.REAL" ]; then
|
||||
mv "$TARGET/sbin/initctl.REAL" "$TARGET/sbin/initctl"
|
||||
fi
|
||||
mv "$TARGET/sbin/start-stop-daemon.REAL" "$TARGET/sbin/start-stop-daemon"
|
||||
rm -f "$TARGET/usr/sbin/policy-rc.d"
|
||||
|
||||
progress $bases $bases CONFBASE "Configuring base system"
|
||||
info BASESUCCESS "Base system installed successfully."
|
||||
}
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
diff --git a/depthcharge_tools/depthchargectl/_build.py b/depthcharge_tools/depthchargectl/_build.py
|
||||
index a605b83c..746e8a51 100644
|
||||
--- a/depthcharge_tools/depthchargectl/_build.py
|
||||
+++ b/depthcharge_tools/depthchargectl/_build.py
|
||||
@@ -157,11 +157,12 @@ class depthchargectl_build(
|
||||
@Argument("--kernel-release", nargs=1)
|
||||
def kernel_release(self, name=None):
|
||||
"""Release name for the kernel used in image name"""
|
||||
- if name is None and self.kernel_version is not None:
|
||||
- if self.kernel == self.kernel_version.kernel:
|
||||
- name = self.kernel_version.release
|
||||
-
|
||||
- return name
|
||||
+ # Trisquel customization: skip autodetection and honor empty values.
|
||||
+ if name is not None:
|
||||
+ return name
|
||||
+ if self.kernel_version is not None and self.kernel == self.kernel_version.kernel:
|
||||
+ return self.kernel_version.release
|
||||
+ return ""
|
||||
|
||||
@custom_kernel_options.add
|
||||
@Argument("--kernel", nargs=1)
|
||||
diff --git a/depthcharge_tools/depthchargectl/_build.py b/depthcharge_tools/depthchargectl/_build.py
|
||||
index 746e8a51..45e0c02c 100644
|
||||
--- a/depthcharge_tools/depthchargectl/_build.py
|
||||
+++ b/depthcharge_tools/depthchargectl/_build.py
|
||||
@@ -82,6 +82,12 @@ class depthchargectl_build(
|
||||
@Argument
|
||||
def kernel_version(self, kernel_version=None):
|
||||
"""Installed kernel version to build an image for."""
|
||||
+
|
||||
+ # Trisquel customization: If --kernel is set but --kernel-version is
|
||||
+ # not, skip autodetection and return None early
|
||||
+ if kernel_version is None and self.kernel is not None:
|
||||
+ return None
|
||||
+
|
||||
if isinstance(kernel_version, KernelEntry):
|
||||
return kernel_version
|
||||
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
--- a/scripts/reproducible-check 2023-04-02 17:44:26+00:00
|
||||
+++ b/scripts/reproducible-check 2024-06-21 06:33:30.224688+00:00
|
||||
@@ -198,13 +198,13 @@
|
||||
|
||||
# We may have installed a binNMU version locally so we need to
|
||||
# strip these off when looking up against the JSON of results.
|
||||
version = re.sub(r"\+b\d+$", "", pkg_ver.version)
|
||||
|
||||
- result[
|
||||
- (pkg.shortname, pkg_ver.architecture, version)
|
||||
- ] = pkg_ver.source_name
|
||||
+ result[(pkg.shortname, pkg_ver.architecture, version)] = (
|
||||
+ pkg_ver.source_name
|
||||
+ )
|
||||
|
||||
self.log.debug("Parsed %d installed binary packages", len(result))
|
||||
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
--- a/debian/README.Debian 2019-10-17 15:10:30.000000000 -0500
|
||||
+++ b/debian/README.Debian 2021-11-26 13:26:20.362971709 -0600
|
||||
@@ -2,7 +2,7 @@
|
||||
===========
|
||||
|
||||
The distro-info package provides centralized lists of code-names and release
|
||||
-history for the supported distributions (Currently: Debian and Ubuntu).
|
||||
+history for the supported distributions (Currently: Debian and Trisquel).
|
||||
The distro-info data (in the distro-info-data package) can be updated once,
|
||||
and all the packages using it will have the latest data. This avoids having to
|
||||
hard-code current development release names (and other such volatile data)
|
||||
@@ -17,8 +17,8 @@
|
||||
On Debian, this is:
|
||||
deb http://ftp.debian.org/debian stable-updates main
|
||||
|
||||
-On Ubuntu, it is:
|
||||
-deb http://archive.ubuntu.com/ubuntu $RELEASE-updates main
|
||||
+On Trisquel, it is:
|
||||
+deb http://archive.trisquel.org/trisquel $RELEASE-updates main
|
||||
where $RELEASE is the name of your release.
|
||||
|
||||
If there isn't an update available yet, you should be able to install the
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
diff --git a/lib/tools.py b/lib/tools.py
|
||||
index 2ab74f7f..a3d52620 100644
|
||||
--- a/lib/tools.py
|
||||
+++ b/lib/tools.py
|
||||
@@ -49,7 +49,7 @@ def get_csv_dict_reader(filename: str) -> csv.DictReader:
|
||||
|
||||
def main(validation_function):
|
||||
"""Main function with command line parameter parsing."""
|
||||
- parser = argparse.ArgumentParser(usage="%(prog)s [-h] -d|-u csv-file")
|
||||
+ parser = argparse.ArgumentParser(usage="%(prog)s [-h] -d|-u|-t csv-file")
|
||||
|
||||
parser.add_argument(
|
||||
"-d",
|
||||
@@ -56,15 +56,24 @@
|
||||
default=False,
|
||||
help="validate an Ubuntu CSV file",
|
||||
)
|
||||
+ parser.add_argument(
|
||||
+ "-t",
|
||||
+ "--trisquel",
|
||||
+ dest="trisquel",
|
||||
+ action="store_true",
|
||||
+ default=False,
|
||||
+ help="validate a Trisquel CSV file")
|
||||
parser.add_argument("csv_file", metavar="csv-file", help="CSV file to validate")
|
||||
|
||||
args = parser.parse_args()
|
||||
- if len([x for x in [args.debian, args.ubuntu] if x]) != 1:
|
||||
- parser.error("You have to select exactly one of --debian, --ubuntu.")
|
||||
+ if len([x for x in [args.trisquel, args.debian, args.ubuntu] if x]) != 1:
|
||||
+ parser.error("You have to select exactly one of --trisquel, --debian, --ubuntu.")
|
||||
|
||||
if args.debian:
|
||||
distro = "debian"
|
||||
- else:
|
||||
+ elif args.ubuntu:
|
||||
distro = "ubuntu"
|
||||
+ else:
|
||||
+ distro = "trisquel"
|
||||
|
||||
return int(not validation_function(args.csv_file, distro))
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
--- a/validate-csv-data 2021-10-15 08:01:00.000000000 -0500
|
||||
+++ b/validate-csv-data 2022-04-06 12:27:29.004706669 -0500
|
||||
@@ -27,6 +27,13 @@
|
||||
|
||||
|
||||
_COLUMNS = {
|
||||
+ "trisquel": (
|
||||
+ "version",
|
||||
+ "codename",
|
||||
+ "series",
|
||||
+ "created",
|
||||
+ "release",
|
||||
+ "eol"),
|
||||
"debian": (
|
||||
"version",
|
||||
"codename",
|
||||
@@ -58,6 +65,7 @@
|
||||
("eol-lts", "eol-elts"),
|
||||
)
|
||||
_STRINGS = {
|
||||
+ "trisquel": ("version", "codename", "series"),
|
||||
"debian": ("codename", "series"),
|
||||
"ubuntu": ("version", "codename", "series"),
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
version,codename,series,created,release,eol,upstream
|
||||
2.0 LTS,Robur,robur,2007-10-18,2008-07-24,2011-05-12,hardy
|
||||
3.0,Dwyn,dwyn,2008-10-30,2009-09-08,2010-10-23,jaunty
|
||||
3.5,Awen,awen,2009-04-23,2010-03-22,2011-04-30,karmik
|
||||
4.0 LTS,Taranis,taranis,2009-10-29,2010-09-17,2013-05-09,lucid
|
||||
4.5,Slaine,slaine,2010-04-29,2011-03-24,2012-04-10,maverick
|
||||
5.0,Dagda,dagda,2010-10-10,2011-09-17,2012-10-28,natty
|
||||
5.5,Brigantia,brigantia,2011-04-28,2012-04-16,2013-05-09,oneiric
|
||||
6.0 LTS,Toutanis,toutanis,2011-10-13,2013-03-11,2017-04-28,precise
|
||||
7.0 LTS,Belenos,belenos,2013-10-17,2014-11-03,2019-04-25,trusty
|
||||
8.0 LTS,Flidas,flidas,2015-10-22,2018-04-18,2021-04-21,xenial
|
||||
9.0 LTS,Etiona,etiona,2017-10-19,2020-10-16,2023-05-31,bionic
|
||||
10.0 LTS,Nabia,nabia,2019-10-17,2021-12-16,2025-05-29,focal
|
||||
11.0 LTS,Aramo,aramo,2021-10-14,2023-03-19,2027-06-01,jammy
|
||||
12.0 LTS,Ecne,ecne,2023-10-12,2029-05-31,2029-05-31,noble
|
||||
|